我有这个疑问:
const data = async () => {
try {
await client.query('SELECT * FROM data');
} catch(e) {
return e;
}
};
但我看到人们是这样用的
const data = async () => {
try {
await client.query('SELECT * FROM data');
} catch(e) {
return e;
} finally {
client.release();
}
};
那么有什么区别,我应该使用方法2吗?
1条答案
按热度按时间g6ll5ycj1#
我假设你正在使用
node-postgres
。你不应该为每一个使用
client.query()
运行的查询调用client.release()
。当你完成数据库连接client
时,你必须调用client.release()
一次(并且只调用一次)。何时何地调用
client.release()
取决于应用程序的结构。如果您只需要运行一个查询,最好只使用
pool.query()
而不是 checkout 客户端。