我正试图在我的AWS中设置ThreadedConnecionPool,Postgres 14正在使用。lambda可能会突然死亡,例如,我希望确保Postgres服务器在空闲活动1分钟后关闭连接。
idle_session_timeout参数声明如下:
Be wary of enforcing this timeout on connections made through connection-pooling software or other middleware, as such a layer may not react well to unexpected connection closure. It may be helpful to enable this timeout only for interactive sessions, perhaps by applying it only to particular users.PgBouncer是这里的正确答案吗?还是在我的情况下应用这个设置是安全的?还是有更好的方法?我想确保的是,如果服务器发生这种情况,那么服务器就会自己清理由lambda ThreadedConnectionPool创建的连接。
发布于 2022-06-14 21:04:50
完成连接后,是否显式关闭连接?如果没有,而您只是让连接超出范围,也许垃圾收集系统只是不太积极地清理它。
Pgb强可能会对此有所帮助,但它必须在事务池模式下运行(因为当会话没有及时关闭时,默认的会话池模式不能非常有用),这确实对您可以做的事情施加了一些限制,比如准备好的事务。
或者,如果您为lambdas使用创建了一个数据库用户,那么您可以只对该用户应用空闲超时,从而防止它杀死管理员、监视或开发人员连接。但是,组合池和超时可能是不需要的,也不可取。
https://stackoverflow.com/questions/72564110
复制相似问题