如何从 AWS RDS 连接到没有 "database" 名称的 PostgreSQL 数据库

How to connect to PostgreSQL DB without a "database" name from AWS RDS

使用节点 pg 包,pg,我正在尝试连接到在 AWS-RDS 中创建的 PostgreSQL 数据库。我相信在创建实例时没有给数据库命名,请注意实例不同于数据库。当尝试使用 pg 中的 ClientPool 进行连接时,我的语法是

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 用户名覆盖

对于 node-postgres 包,您需要在 Client/Pool 配置对象中提供数据库属性。如果您的 PostgreSQL 数据库没有名称,假设您使用 AWS-RDS 创建它,那么此数据库名称将默认为 postgres。简单地提供带有 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`

});