全局超时示例会持久修改服务器并终止会话或事务
原文依据:1 处推荐方案使用 `ALTER SYSTEM` 设置 30 秒的空闲事务超时和 10 分钟的空闲会话超时,再重新加载配置。这是服务器级持久变更,不是仅针对被诊断连接的临时设置;30 秒后被终止的空闲事务会回滚。
长时间交互式事务、迁移、管理工具或合法池化会话可能突然断开或回滚,造成服务错误、部分工作失败和停机。
推荐代码使用 `ALTER SYSTEM` 写入服务器级配置并重新加载,而非仅调整当前诊断会话。启用后,空闲事务连接在 30 秒、完全空闲连接在 10 分钟后会被终止;前者未提交事务将回滚,并可能影响所有使用该实例的应用。用户可要求作者先评估工作负载和连接池行为,优先给出会话/角色级方案,并要求生产变更审批与回滚计划。
**Correct (automatic cleanup of idle connections):**```sql-- Terminate connections idle in transaction after 30 secondsalter system set idle_in_transaction_session_timeout = '30s';-- Terminate completely idle connections after 10 minutesalter system set idle_session_timeout = '10min';-- Reload configurationselect pg_reload_conf();```