我目前正致力于将在 Heroku 中设置的环境迁移到 Amazon Web Services 堆栈(RDS PostgreSQL、Elastic Beanstalk)。
我在尝试通过 sequelize.js ORM 连接到 PostgreSQL 时遇到了一些问题。错误信息如下:
Unhandled rejection SequelizeHostNotFoundError: getaddrinfo ENOTFOUND [host].
我可以通过 pgAdmin 连接到数据库,所以我知道该服务正在运行,并且以下配置已在 Heroku 上运行:
sequelize = new Sequelize(process.env.DATABASE_URI, {
dialect: 'postgres',
protocol: 'postgres',
logging: true,
timestamps: false
})
DATABASE_URI 的格式如下:
postgres://[db_username]:[db_password]@[hostname]:[port]/[db_name]
如有任何帮助,我们将不胜感激。提前致谢!
最佳答案
我能够在这里解决我的问题。本质上,我通过在环境中正确设置以下内容来解决它。:
- 正确格式化 URI -(按照上面的语法,我能够让它工作)
- 为 Amazon RDS 和 Elastic Beanstalk 启用安全规定 - 我必须为运行 Elastic Beanstalk 的安全组/实例 Angular 色启用对 Amazon RDS 实例的入站访问。 (我陷入了这样一个事实,即我能够通过本地计算机访问 RDS。默认情况下,RDS 似乎设置了您正在使用的 IP,以便能够使用它……这是有道理的……)
关于javascript - 使用 sequelize ORM 连接到 node.js 上的 Amazon RDS Postgres 数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570410/