我似乎无法连接到AWS中的数据库实例。我正在使用pg
程序包,并且遵循the website中的示例不起作用。
搜索“ aws postgres数据库不存在”确实没有返回任何帮助。遍历PG github上的打开/关闭问题也无济于事。
运行$nc <RDS endpoint> <port number>
返回一条成功消息,因此肯定存在该消息。从我的数据库实例复制/粘贴了客户端配置中放置的每个值。
我开始怀疑数据库的名称是否与AWS上RDS的“实例”部分中显示的名称不同?
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);
})
答案 0 :(得分:21)
我也遇到了这个问题。看起来数据库实例名称和实际数据库名称是两个不同的东西,即使在创建数据库时添加名称,它的默认值也为“ postgres ”。当我输入数据库名称时,它也给了我同样的错误。但是,当我只输入' postgres '时,效果很好。尝试一下,看看它是否适合您。
答案 1 :(得分:2)
RDS实例的初始配置非常混乱,因为参数“数据库名称”仅是实例的名称,而不是数据库的正确名称。如果要在创建数据库实例的同时让AWS创建数据库,则必须选择“其他配置”并显式添加一个名为“初始数据库名称”的参数。检查我附加的here屏幕截图。
答案 2 :(得分:0)
尝试将 postgres 添加为 dbname。它对我有用!
答案 3 :(得分:0)
如果上述答案不起作用,请尝试此操作。 删除:5439/lab 结尾,使 Host 值以:.com
结尾