node.js - 如何从 AWS RDS 连接到没有“数据库”名称的 PostgreSQL 数据库
问题描述
使用节点 pg 包,pg
我正在尝试连接到在 AWS-RDS 中创建的 PostgreSQL 数据库。我相信创建实例时没有给数据库命名,请注意实例与数据库不同。尝试使用Client
或Pool
从pg
我的语法连接时是
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
。
所以我的问题是,我应该如何连接到 AWS-RDS 上的数据库而不在我的配置中提供database
道具?Client
编辑
编辑 1
提供一个database
空字符串的道具将被我的 linux 用户名覆盖
解决方案
使用该node-postgres
包,您需要在客户端/池配置对象中提供数据库道具。如果您的 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`
});
推荐阅读
- ruby-on-rails - 如何为业力导入文件-rails中的javascript单元测试?
- python - 使用字典对具有特定结构的熊猫数据帧进行空间插值
- algorithm - 将均匀分布转换为肥尾分布
- javascript - AJAX 数据未发布以在 Django 中查看
- ionic-framework - Change of language doesn't work instantly in ionic 3
- csv - 使用批处理文件有条件地替换 csv 中的值
- haskell - 可变参数列表附加函数,用于从 haskell 中的列表创建列表列表
- python - 如何在 Colab 中使用 upload() 命令而无需手动输入文件位置?
- java - 集合上包含(对象)的不太可能的参数类型字符串
- c# - 我无法从自己的游戏对象(unity3d)访问组件