【发布时间】:2019-01-29 10:32:39
【问题描述】:
使用节点 pg 包pg,我正在尝试连接到在 AWS-RDS 中创建的 PostgreSQL 数据库。我相信创建实例时没有给数据库命名,请注意实例与数据库不同。当尝试使用来自pg 的Client 或Pool 进行连接时,我的语法是
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);
})
但每次我都返回error: database <<linux user name>> does not exist。
现在创建一个不同的 PostgreSQL 实例并为数据库提供一个名称,我可以将一个 database 属性添加到我的 Client 对象配置中,一切正常,我返回一个控制台日志 connected。
所以我的问题是,在我的 Client 配置中不提供 database 属性的情况下,我应该如何连接到 AWS-RDS 上的数据库?
编辑
编辑 1
提供带有空字符串的 database 属性将被我的 linux 用户名覆盖
【问题讨论】:
-
当您创建 Postgres 数据库时,它会在
Additional configuration > Database options > Initial database name下显示:“如果您不指定数据库名称,Amazon RDS 不会创建数据库。” 一些客户端可能没有数据库就无法连接。
标签: node.js postgresql amazon-web-services amazon-rds