繁体   English   中英

如何通过AWS RDS在没有“数据库”名称的情况下连接到PostgreSQL DB

[英]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 prop添加到我的Client objects config中,并且一切正常,并且返回connected的控制台日志。

所以我的问题是,如何在没有在Client配置中提供database道具的情况下连接到AWS-RDS上的database

编辑

编辑1

用空字符串提供database道具将被我的Linux用户名覆盖

使用node-postgres软件包时,您需要在Client / Pool配置对象中提供数据库属性。 如果您的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`

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM