sql - 池上的每个查询都在连接时触发
问题描述
我现在开始使用 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()查询本身创建了一个连接,它不应该给我一个错误说还没有创建连接吗?最后,通过不必在每个查询上创建连接来减少查询时间的最佳方法是什么?
谢谢你的时间=)