官方文档:
http://www.postgresql.org/docs/9.3/static/runtime-config-replication.html
为了防止slave端读取数据时,因为读到的是旧有数据而被强制取消,设定了这么一个以transaction为单位的值。
就是可以保证经过这么多的trsanction后,数据仍然得以为slave 几点到读取而保留。
vacuum_defer_cleanup_age (integer)
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 Section 25.5. 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.
参考:
http://blog.sina.com.cn/s/blog_773523db0101054f.html
结束