问题描述
基于这个关于 pg-promise 的 answered question,当一个现有的连接/会话被请求 A 返回到池中并且被一个完全不同的请求 B 重新使用时。 pg-promise 会自动做 {{ 3}} 所以 B 看不到 A 留下的任何东西?如果没有,我可以使用 pg-promise 手动发布吗?
谢谢。
解决方法
pg-promise 会自动执行 DISCARD
吗?
没有
我可以使用 pg-promise 手动发布吗?
是的,但是对于单个查询,这对您没有好处,因为它们自己控制连接,因此您甚至不知道要丢弃哪个会话。
我可以看到这仅在 task
或 tx
方法中何时有用,但如果需要,您可以在最后轻松添加自己的 DISCARD
查询。
await db.task(async t => {
// do your things here...
// then run discard at the end,if needed:
await t.none('DISCARD $1:value',['PLANS']);
});