gpt4 book ai didi

node.js - PostgreSQL 无法在 Heroku 上使用 Node.js

转载 作者:行者123 更新时间:2023-11-29 13:04:59 27 4
gpt4 key购买 nike

我正在尝试使用 Heroku 和 PostgreSQL 数据库开发 node.js 应用程序。

我遵循了 Heroku 文档中的教程: https://devcenter.heroku.com/articles/nodejs#using-a-postgres-database

依赖关系很好,我的代码基本如下:

var pg = require('pg');

pg.connect(process.env.DATABASE_URL, function(err, client) {
var query = client.query('CREATE TABLE users (id bigint auto_increment not null, login varchar(250), constraint pk_users primary key (id) )');

query.on('row', function(row) {
console.log(JSON.stringify(row));
});
});

我尝试过各种形式的查询,比如这个:

var client = new pg.Client(process.env.DATABASE_URL);
client.connect();

但是每次我的 heroku 日志中都会出现这个错误:

at Object.afterConnect [as oncomplete] (net.js:875:19)
Error: connect ECONNREFUSED
at errnoException (net.js:884:11)

如果有人已经遇到过此类问题,欢迎任何帮助。谢谢。

最佳答案

我建议尝试 console.log(process.env.DATABASE_URL);,然后使用该地址通过本地计算机上的客户端手动连接。我知道 Heroku 数据库服务器是为远程连接打开的(但我以前错了)。

如果失败,您可以获得 heroku 控制台 并使用 postgre 客户端。

ECONNREFUSED 是一个套接字错误,当您尝试连接到一个不可联系/不可连接/不可监听的地址时弹出。

如果 process.env.DATABASE_URL 确实返回了正确且可连接的地址,那么我将执行 console.log(pg); 以确保该对象是我想要的期望它是。

关于node.js - PostgreSQL 无法在 Heroku 上使用 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com