idle_session_timeout

确定何时终止空闲会话的配置参数

idle_session_timeout 是一个 配置参数,用于确定何时终止空闲会话。它默认是禁用的。

idle_session_timeoutPostgreSQL 14 中添加。

用法

如果 idle_session_timeout 设置为非零值,任何在事务之外空闲的会话将被自动终止。

要自动终止在事务中空闲的会话,请参阅 idle_in_transaction_session_timeout(从 PostgreSQL 9.6 开始可用)。

默认值

idle_session_timeout 的默认值为:0(禁用)。

按 PostgreSQL 版本详细信息

idle_session_timeout (PostgreSQL 19)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置在非事务状态下,查询之间的最大允许空闲时间。
扩展描述 0 表示禁用超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档idle_session_timeout

idle_session_timeout (PostgreSQL 18)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置在非事务状态下,查询之间的最大允许空闲时间。
扩展描述 0 表示禁用超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档idle_session_timeout

idle_session_timeout (PostgreSQL 17)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置在非事务状态下,查询之间的最大允许空闲时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档idle_session_timeout

idle_session_timeout (PostgreSQL 16)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置在非事务状态下,查询之间的最大允许空闲时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档idle_session_timeout

idle_session_timeout (PostgreSQL 15)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置在非事务状态下,查询之间的最大允许空闲时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档idle_session_timeout

idle_session_timeout (PostgreSQL 14)

设置 0
单位 毫秒
类别 客户端连接默认值 / 语句行为
简短描述 设置在非事务状态下,查询之间的最大允许空闲时间。
扩展描述 值为 0 将关闭超时。
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 2147483647
枚举值  
启动值 0
重置值 0
源文件  
源行  
需要重启 false

文档idle_session_timeout

变更历史

示例

postgres=# SHOW idle_session_timeout;
 idle_session_timeout 
----------------------
 5s
(1 row)

...至少等待 5 秒钟...

日志文件条目将看起来像这样

[2021-01-07 09:49:48 UTC] psql postgres postgres LOG:  00000: statement: SHOW idle_session_timeout;
[2021-01-07 09:49:53 UTC] psql postgres postgres FATAL:  08P02: terminating connection due to idle-session timeout
[2021-01-07 09:49:53 UTC] psql postgres postgres LOG:  00000: disconnection: session time: 0:00:07.060 user=postgres database=postgres host=::1 port=33454

在同一客户端中尝试执行命令(psql)将导致出现错误消息,报告超时并重置连接。

postgres=# SELECT 1;
FATAL:  terminating connection due to idle-session timeout
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.

postgres=#

分类

GUC 配置项, 用户和角色

另请参阅

idle_in_transaction_session_timeout, statement_timeout, transaction_timeout

反馈

提交关于“idle_session_timeout”的任何评论、建议或更正 在此处