diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 5204b34..6ec041a 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -497,18 +497,24 @@ The sole disadvantage of increasing autovacuum_freeze_max_age (and vacuum_freeze_table_age along with it) - is that the pg_clog subdirectory of the database cluster - will take more space, because it must store the commit status of all - transactions back to the autovacuum_freeze_max_age horizon. - The commit status uses two bits per transaction, so if - autovacuum_freeze_max_age is set to its maximum allowed - value of two billion, pg_clog can be expected to - grow to about half a gigabyte. If this is trivial compared to your - total database size, setting autovacuum_freeze_max_age to - its maximum allowed value is recommended. Otherwise, set it depending - on what you are willing to allow for pg_clog storage. - (The default, 200 million transactions, translates to about 50MB of - pg_clog storage.) + is that the pg_clog and pg_commit_ts + subdirectories of the database cluster will take more space, because they + must store the commit status and (if track_commit_timestamp is + enabled) timestamp of all transactions back to + the autovacuum_freeze_max_age horizon. The commit status uses + two bits per transaction, so if + autovacuum_freeze_max_age is set to its maximum allowed value + of two billion, pg_clog can be expected to grow to about half + a gigabyte. If this is trivial compared to your total database size and + you are not using commit timestamps, + setting autovacuum_freeze_max_age to its maximum allowed value + is recommended. Otherwise, set it depending on what you are willing to + allow for pg_clog and pg_commit_ts storage. + Commit timestamps occupy 10 bytes per transaction + if track_commit_timestamp is enabled. (The default, 200 + million transactions, translates to about 50MB of + pg_clog storage and about 2GB of + pg_commit_ts.)