Specifies the number of transactions by which VACUUM and HOT updates will defer cleanup of dead row versions. The default is zero transactions, meaning that dead row versions can be removed as soon as possible, that is, as soon as they are no longer visible to any open transaction. You may wish to set this to a non-zero value on a primary server that is supporting hot standby servers, as described in hot-standby. This allows more time for queries on the standby to complete without incurring conflicts due to early cleanup of rows. However, since the value is measured in terms of number of write transactions occurring on the primary server, it is difficult to predict just how much additional grace time will be made available to standby queries. This parameter can only be set in the postgresql.conf file or on the server command line.
You should also consider setting hot_standby_feedback on standby server(s) as an alternative to using this parameter.
- pg_upgrade fails if vacuum_defer_cleanup_age > 0
- Re: vacuum_defer_cleanup_age inconsistently applied on replicas
- pg_basebackup is taking an unusually long time with Postgres 11.3
- Re: Thoughts on "killed tuples" index hint bits support on standby
- vacuum_defer_cleanup_age inconsistently applied on replicas