与 PG 连接时 AWS Postgres 数据库“不存在”

Bra*_*eld 18 postgresql amazon-web-services amazon-rds

我似乎无法连接到 AWS 中的数据库实例。我正在使用该pg软件包,但按照网站上的示例操作不起作用。

搜索“aws postgres 数据库不存在”确实没有返回任何有用的信息。浏览 PG github 上的开放/关闭问题也无济于事。

运行会$nc <RDS endpoint> <port number>返回一条成功消息,所以它肯定存在。客户端配置中的每个值都是从我的数据库实例复制/粘贴的。

我开始怀疑数据库的名称是否与 RDS on AWS 的“实例”部分中显示的名称不同?

const client = new Client({
  host     : '<<RDS ENDPOINT>>',
  database : '<<RDS NAME>>', // maybe this isnt the real name?
  user     : '<<username>>',
  password : '<<password>>',
  port     : <<port>>
});
client.connect()
  .then(data => {
    console.log('connected');
  })
  .catch(err => {
    console.log(err);
  })
Run Code Online (Sandbox Code Playgroud)

小智 48

我也遇到了这个问题。看起来数据库实例名称和实际数据库名称是两个不同的东西,即使您在创建数据库时添加名称,它也默认为“ postgres ”。当我输入我的数据库名称时,它给了我同样的错误。但是,当我刚刚放入 ' postgres ' 时,它运行良好。试试看,看看它是否适合你。

  • 我想尖叫。啊啊啊啊啊啊啊!!!谢谢你! (6认同)
  • 正如 @aaron 和 @mike 所说,“数据库实例名称”和“初始数据库名称”之间存在差异。“数据库实例名称”是 AWS RDS 数据库终端节点的初始部分,您可以更改它。但是,“初始数据库名称”是在创建数据库时设置的,我还没有找到更改它的方法,也没有找到在创建数据库后找出名称的方法。当我使用“初始数据库名称”以及“postgres”时,我能够连接到我的数据库。这是相关链接:/sf/ask/3016940881/ (3认同)
  • 经过几个小时的搜索后,这对我有帮助。每个人(我也)对 dbname 感到困惑。所以在数据库名称中尝试使用postgres,因为postgres数据库默认可用。这对我有用。 (2认同)

小智 13

尝试添加 postgres 作为数据库名。这对我有用!


小智 9

RDS实例的初始配置相当混乱,因为参数“数据库名称”只是实例的名称,而不是数据库的专有名称。如果您希望 AWS 在您创建数据库实例的那一刻创建一个数据库,您必须选择“附加配置”并明确添加一个名为“初始数据库名称”的参数。检查我在此处附加的屏幕截图。