Stephan Asked: 2012-09-13 07:07:02 +0800 CST2012-09-13 07:07:02 +0800 CST 2012-09-13 07:07:02 +0800 CST 是否可以将 PostgreSQL 配置为自动关闭空闲连接? 772 客户端连接到我们的 PostgreSQL 8.3 数据库,但保持连接打开。是否可以将 PostgreSQL 配置为在一定数量的不活动后关闭这些连接? postgresql postgresql-8.3 2 个回答 Voted Best Answer Stephan 2012-09-15T04:29:25+08:002012-09-15T04:29:25+08:00 最后,我有一个解决方案。我将使用工具PgBouncer及其参数server_idle_timeout。 另一种方法是使用一些类似 cron 的工具定期运行查询以查找空闲连接。 一旦找到这些空闲连接,一个简单的调用pg_terminate_backend就会关闭它们。 请参阅以下问题的答案中对此方法的深入描述: 如何自动关闭 PostgreSQL 中的空闲连接? a_horse_with_no_name 2017-09-30T12:43:36+08:002017-09-30T12:43:36+08:00 从 Postgres 9.5 开始,您可以为“事务中的空闲”状态下的连接配置超时 - 这与“空闲”有点不同,但通常“事务中的空闲”连接会产生更多问题 详见手册:idle_in_transaction_session_timeout
最后,我有一个解决方案。我将使用工具PgBouncer及其参数
server_idle_timeout
。另一种方法是使用一些类似 cron 的工具定期运行查询以查找空闲连接。
一旦找到这些空闲连接,一个简单的调用
pg_terminate_backend
就会关闭它们。请参阅以下问题的答案中对此方法的深入描述:
如何自动关闭 PostgreSQL 中的空闲连接?
从 Postgres 9.5 开始,您可以为“事务中的空闲”状态下的连接配置超时 - 这与“空闲”有点不同,但通常“事务中的空闲”连接会产生更多问题
详见手册:idle_in_transaction_session_timeout