尝试从postgres客户端(Docker映像)连接到我的RDS Postgres实例...
docker run -it --rm jbergknoff/postgresql-client postgresql://username:******@somepostgres.sometext.us-west-2.rds.amazonaws.com:5432
它有效...
当我从typeorm尝试使用它时...它抱怨getaddrinfo ENOTFOUND。
这是我的连接选项:
{
type: 'postgres',
logging: true,
host: process.env.DB_HOST,
port: 5432,
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: true,
extra: {
ssl: true
}
}
这是错误:
[Nest] 25882 - 06/09/2019, 12:19 PM [TypeOrmModule] Unable to connect to the database. Retrying (1)... +3291ms
Error: getaddrinfo ENOTFOUND postgres.sometext.us-west-2.rds.amazonaws.com postgres.sometext.us-west-2.rds.amazonaws.com.com:5432
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:58:26)
编辑: 当我使用IP时。有用。但是仍然很好奇...为什么地址不起作用?
编辑2:
找到了。我的本地节点js无法连接到RDS,因为我的名称服务器配置不正确。
要在Linux中修复它,您可以这样做
# /etc/resolv.conf
# I use google here
nameserver 8.8.8.8
namaserver 8.8.4.4
还有我可以从docker访问它的原因,我想docker具有自己的名称服务器配置。