节点模块pg client.end()没有关闭连接

时间:2018-07-23 14:37:35

标签: node.js postgresql

我的应用程序仅每3秒进行一次选择查询,当我在同一应用程序数据库连接上运行多个Pod时,卡住了,则有20个以上的活动连接。

    async test (text) {
    const client = new Client(main_db);
    await client.connect();
    try {
        const result = await client.query(text);
        return result.rows;
    } finally {
        await client.end();
    }
}

这是用于进行查询的方法issue on git,there contributors told to use this method

该如何解决?

1 个答案:

答案 0 :(得分:0)

如果使用连接池,则不能end个连接。您将必须release回到池的连接才能重新使用。

引用https://node-postgres.com/api/pool#release-err-error-

如果要为每个触发的查询创建一个新的连接,则不应出现上述问题。如果您不关闭连接,则不会在客户端出现任何问题(类似于问题中提到的问题)。但是,数据库将过载。