如何从TypeORM连接到Postgres Amazon-RDS?

时间:2019-06-09 04:22:47

标签: postgresql amazon-rds typeorm

尝试从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具有自己的名称服务器配置。

0 个答案:

没有答案