类型: | integer |
默认: | 0 |
最低限度: | 0 |
最大: | 1000000 |
上下文: | sighup |
重新开始: | false |
弃用: | 15 |
指定VACUUM和HOT更新在清除死亡行版本之前,应该推迟多久(以事务数量计)。默认值是零个事务,表示死亡行版本将被尽可能快地清除,即当它们不再对任何打开的事务可见时尽快清除。在一个支持热后备服务器的主服务器上,你可能希望把这个参数设置为一个非零值,如hot-standby中所述。这允许后备机上的查询有更多时间来完成而不会由于先前的行清除产生冲突。但是,由于该值是用在主服务器上发生的写事务的数目衡量的,很难预测对后备机查询可用的附加时间到底是多少。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。
你也可以考虑设置后备服务器上的hot_standby_feedback作为使用这个参数的一种替代方案。
这无法阻止已经达到old_snapshot_threshold所指定年龄的死亡行被清除。
建议 [EN]
No longer effective thanks to hot_standby_feedback.
在 StackOverflow
在 pgsql-hackers
- Re: pgsql: Track last_inactive_time in pg_replication_slots.
- Re: BUG: Postgres 14 + vacuum_defer_cleanup_age + FOR UPDATE + UPDATE
- RE: Conflict detection for update_deleted in logical replication
- Re: Conflict detection for update_deleted in logical replication
- Re: Introduce XID age and inactive timeout based replication slot invalidation