我使用Nodejs连接到Heroku的Postgres数据库试了一下
为了什么
使用Node.js连接到Heroku的PostgreSQL数据库
操作步骤
-
- 确认是否已添加了 Heroku postgres,请执行以下命令:
-
- 从命令提示符中运行 heroku config 命令
-
- 如果还未添加 Heroku postgres,请执行以下步骤:
-
- 运行 heroku addons:create heroku-postgresql 命令来进行添加
-
- 安装 postgres(pgAdmin)客户端到您的计算机
-
- 尝试使用 pgAdmin 进行连接测试
-
- 创建一个用于与数据库进行交互的 Nodejs 程序
- 确认能够成功连接数据库。
连接错误
Heroku postgres因为需要ssh连接,所以当尝试使用heroku config中的连接信息进行连接时会出现错误。
连接错误消息:
{ [Error: connect ECONNREFUSED]
code: ‘ECONNREFUSED’,
errno: ‘ECONNREFUSED’,
syscall: ‘connect’ }
连接错误时的程序错误:
var query = client.query(‘SELECT Name FROM “TestUser”‘);
^
类型错误:无法调用 null 的方法 ‘query’。
解决方法:
在以下的代码中:
var conString = process.env.DATABASE_URL || “postgres://[用户名]:[密码]@[主机名]:[端口]/[数据库名称]
后面添加
?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
思考
只需执行命令即可轻松地与postgres进行协作。
此外,选择Heroku postgres的免费版本,由于其是多租户,因此可以查看其他用户的模式,这让人感到新奇。