pg中超时参数详解

2021-03-15 14:19:28 浏览数 (1)

简单介绍下timeout 参数

timeout参数timeout参数

lock_timeout 锁等待超时。语句在试图获取表、索引、行或其他数据库对象上的锁时等到超过指定的毫秒数,该语句将被中止。 不推荐在postgresql.conf中设置,因为会影响所有的会话。

idle_in_transaction_session_timeout 终止开启事务但空闲时间超过指定持续时间(以毫秒为单位)的任何会话。 这样可以释放该会话持有的所有锁,并重新使用连接插槽;它还允许vacuum仅对该事务可见的元组。 默认值0禁用此功能。

connect_timeout 最大等待连接时间,以秒为单位(以十进制整数形式编写,例如10)。零,负数或未指定意味着无限期等待。 允许的最小超时为2秒,因此将值1解释为2。 此超时分别适用于每个主机名或IP地址。例如,如果指定两个主机且connect_timeout为5,则如果5秒钟内未建立任何连接,则每个主机都将超时,因此等待连接所花费的总时间可能最多为10秒。

checkpoint_timeout 自动WAL检查点之间的最长时间,单位是秒,有效取值是30秒到一天。默认是5分钟。增大这个参数会使数据库崩溃后恢复的时间加长。 只能在postgresql.conf配置文件或server命令行中配置。

archive_timeout 只对完整的WAL段调用archive_command。因此,如果你的服务器只产生很少的WAL流量(或者它产生的空闲时间很短),则在事务完成和将其安全记录到归档存储之间可能会有很长的延迟。要限制可以保存的未归档数据的数量,可以设置archive_timeout强制服务器定期切换到新的WAL段文件。 请注意,由于强制切换而提前关闭的归档文件的长度仍然与完全完整的文件的长度相同。因此,使用非常短的archive_timeout是不明智的-它将使您的存档存储空间过大。一分钟左右的archive_timeout设置通常是合理的。 该参数只能在postgresql.conf文件或服务器命令行中设置。

wal_receiver_timeout 中止处于非活动状态超过指定毫秒数的复制连接。这对于正在接收的standby服务器检测主服务器崩溃或网络断开有用。设置为0会禁用超时机制。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是 60 秒。

lock-wait-timeout 在dump开始时不要永远等待获取共享表锁。如果无法在指定的超时时间内锁定表,则失败。 如果无法在指定的超时时间内锁定表,则失败。 可以使用SET statement_timeout接受的任何格式指定超时。(允许的格式因要转储的服务器版本而异,但所有版本均接受整数毫秒)。 pg_dump的时候使用。

deadlock_timeout 进行死锁检测之前在一个锁上等待的总时间

authentication_timeout 完成服务器认证的最长时间,如果在这个时间内没有完成认证,服务器将关闭连接。

wal_sender_timeout 中断那些停止活动超过指定毫秒数的复制连接。这对发送服务器检测一个后备机崩溃或网络中断有用。设置为0将禁用该超时机制。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是 60 秒。

0 人点赞