Heroku postgresql 查询在 Heroku 上不起作用,但在本地工作

Posted

技术标签:

【中文标题】Heroku postgresql 查询在 Heroku 上不起作用,但在本地工作【英文标题】:Heroku postgresql queries not working on Heroku, but work locally 【发布时间】:2021-05-10 21:10:22 【问题描述】:

当在本地运行并使用相同的DATABASE_URL 连接到 Heroku 时,我能够完美地连接和查询数据库。

当相同的代码在 Heroku 上运行时——查询永远不会返回并且最终会超时。

数据库代码:

const connectionString = process.env.DATABASE_URL;
const pool = new Pool(
    
        connectionString: connectionString,
        ssl: true
    
);

public async query(text: any, params: any): Promise<any> 
    return pool.query(text, params);

当我在 localhost 上运行并附加到 Heroku Postgres 附加组件(爱好层)时,这可以正常工作,但是当部署到 Heroku 时它不再工作。 DATABASE_URL 已正确加载。

【问题讨论】:

【参考方案1】:

很奇怪,但如果有人遇到这个问题,这里是我们的解决方案:

我们使用了pg 包并运行了^7.12.1 版本,它允许我们在本地连接和查询Heroku 托管的数据库,但在服务器部署在Heroku 上时却不行。

修复是更新pg 包,我们现在正在运行版本^8.5.1

【讨论】:

谢谢,遇到了同样的问题,就是这样。

以上是关于Heroku postgresql 查询在 Heroku 上不起作用,但在本地工作的主要内容,如果未能解决你的问题,请参考以下文章

为 Heroku 重写 PostgreSQL 查询

Heroku:执行查询但没有 postgresql 日志

Heroku PostgreSQL 按字母顺序按点在前

Datagrip - 与 Heroku 的 PostgreSQL 连接不显示表

Heroku 为啥使用 Postgresql?

如何在 PostgreSQL 8.3 中执行窗口函数