池上的每个查询都会在连接上触发

时间:2018-07-26 14:12:26

标签: sql node.js postgresql pg node-postgres

我现在开始使用PostgreSQL,我想在客户端和数据库之间建立持久的连接,因此不需要在每个查询上创建和完成连接。我发现Pool是更好的方法,所以我的代码最终如下所示:

const { Pool } = require('pg');

const dbConfig = {
    user: '#####################',
    password: '##########',
    database: '#########',
    host: '############',
    port: '####',
};

let pool = new Pool(dbConfig);
pool.connect();
pool.on('connect', (client) => {
    console.log('Connection Created')
});

function query(text) {
    return new Promise(((resolve, reject) =>{
        pool.query(text)
            .then((result) => resolve(result.rows))
            .catch(err => reject(err));
    }))
}

module.exports = {
    query: query
};

为什么每次我调用查询都会触发我的“创建连接”? 即使我使用pool.connect(),查询本身也会创建一个连接,这是否还会给我一个错误,指出还没有创建连接?最后,通过不必在每个查询上创建连接来减少查询时间的最佳方法是什么?

感谢您的时间=)

0 个答案:

没有答案