Node.js 如何连接到PostgreSQL数据库而不使用;“数据库”;来自AWS RDS的名称
使用node pg包,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
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不会创建数据库。”没有数据库,某些客户端可能无法连接。我花了很长时间才弄清楚。这里也提到了:但在官方文件中找不到。