【问题标题】:How to convert a Heroku Postgres Client to a Pool?如何将 Heroku Postgres 客户端转换为池?
【发布时间】:2021-08-03 17:56:44
【问题描述】:

所以我目前正在使用以下内容:

const { Client } = require('pg');
const db = new Client({
  connectionString: process.env.DATABASE_URL,
  ssl: {
    rejectUnauthorized: false
  }
});

我想开始使用池,因为它似乎可以更有效地处理多个用户访问数据库...如何将上述转换为池?我尝试将“客户端”一词更改为“池”,但根据文档,似乎池的初始化方式不同。在这里 (https://node-postgres.com/api/pool) 它显示了一个配置对象已创建,我假设我必须创建其中一个,但我不确定在部署到 Heroku 时要在其中放入什么......任何帮助都很大感激不尽!

【问题讨论】:

    标签: javascript node.js postgresql heroku node-postgres


    【解决方案1】:

    理论上,您应该可以将Client 替换为Pool。其他各种选项主要仅用于配置池的大小和超时。在您显着扩展您的应用之前,您不需要弄乱这些。

    如果您使用事务,则需要做额外的工作,因为您需要在池中显式地 connect 和 release 一个客户端,以确保事务中的所有语句都在同一连接上执行。

    话虽如此,使用更高级别的客户端可能会更好,例如https://www.atdatabases.org(声明:我是@databases 的作者)。这有更完整的文档,应该更容易上手。 @databases 总是使用连接池:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 2020-01-02
      • 2019-05-10
      • 2012-04-24
      相关资源
      最近更新 更多