我目前正致力于将Heroku中设置的环境迁移到Amazon Web Services堆栈(RDS PostgreSQL,Elastic Beanstalk)。
尝试通过sequelize.js ORM连接到PostgreSQL时遇到了一些问题。错误信息如下:
未处理拒绝SequelizeHostNotFoundError:getaddrinfo ENOTFOUND [主机]。
我可以通过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]
非常感谢任何帮助。提前谢谢!
答案 0 :(得分:4)
我能在这里解决我的问题。基本上,我通过在环境中正确设置以下内容来解决它:
答案 1 :(得分:0)
我遇到了一个非常类似的问题,结果发现我的密码中有一个问号 - 导致密码的一半和连接URL的其余部分被忽略(显然是URL搜索部分的一部分)。
类似的东西:
new Sequelize("postgres://fred:xj78?23@example.com/db");
我们最终得到的用户名是:fred,密码:xj78,其他所有内容都是空白的。