Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何连接到PostgreSQL数据库而不使用;“数据库”;来自AWS RDS的名称_Node.js_Postgresql_Amazon Web Services_Amazon Rds - Fatal编程技术网

Node.js 如何连接到PostgreSQL数据库而不使用;“数据库”;来自AWS RDS的名称

Node.js 如何连接到PostgreSQL数据库而不使用;“数据库”;来自AWS RDS的名称,node.js,postgresql,amazon-web-services,amazon-rds,Node.js,Postgresql,Amazon Web Services,Amazon Rds,使用node pg包,pg,我试图连接到AWS-RDS中创建的PostgreSQL数据库。我相信DB在创建实例时没有给出名称,请注意,实例不同于DB。当尝试使用Client或Pool从pg连接时,我的语法是 const client = new Client({ host : <<RDS ENDPOINT>>, user : <<RDS DB USERNAME>>, password : <<RDS DB P

使用node pg包,
pg
,我试图连接到AWS-RDS中创建的PostgreSQL数据库。我相信DB在创建实例时没有给出名称,请注意,实例不同于DB。当尝试使用
Client
Pool
pg
连接时,我的语法是

const client = new Client({
  host     : <<RDS ENDPOINT>>,
  user     : <<RDS DB USERNAME>>,
  password : <<RDS DB PASSWORD>>,
  port     : <<RDS DB PORT>>
});
client.connect()
  .then(data => {
    console.log('connected');
  })
  .catch(err => {
    console.log(err);
  })
const client=新客户端({
主持人:,
用户:,
密码:,
端口:
});
client.connect()
。然后(数据=>{
console.log('connected');
})
.catch(错误=>{
控制台日志(err);
})
但每次返回时,都会出现
错误:数据库不存在

现在,创建一个不同的PostgreSQL实例并为DB提供一个名称,我可以向我的
客户机
对象配置中添加
数据库
道具,一切正常,我返回的控制台日志为
connected

因此,我的问题是,在我的
客户端
配置中不提供
数据库
道具的情况下,我应该如何连接到AWS-RDS上的DB

编辑 编辑1
提供带有空字符串的
数据库
道具将被我的linux用户名

覆盖,使用
节点postgres
包,您需要在客户端/池配置对象中提供数据库道具。如果您的PostgreSQL数据库没有名称,比如说如果您使用AWS-RDS创建了它,那么该数据库名称将默认为
postgres
。只需为数据库prop提供
postgres
就可以解决未命名数据库的任何问题

const client = new Client({
  host     : <<RDS ENDPOINT>>,
  user     : <<RDS DB USERNAME>>,
  password : <<RDS DB PASSWORD>>,
  port     : <<RDS DB PORT>>,
  database : 'postgres' // supplying a database name with `postgres`

});
const client=新客户端({
主持人:,
用户:,
密码:,
端口:,
数据库:“postgres”//提供带有“postgres”的数据库名称`
});

创建Postgres DB时,在
附加配置>数据库选项>初始数据库名称下会显示:“如果不指定数据库名称,Amazon RDS不会创建数据库。”没有数据库,某些客户端可能无法连接。我花了很长时间才弄清楚。这里也提到了:但在官方文件中找不到。