From: Simon Riggs <simon@2ndQuadrant.com> Date: Fri, 1 Sep 2017 06:57:05 +0000 (+0100) Subject: Add note about diskspace usage of pg_commit_ts X-Git-Tag: REL_11_BETA1~1701 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=abe85ef1d00187a42e7a757ea0413bc4965a4525;p=postgresql Add note about diskspace usage of pg_commit_ts Author: Thomas Munro --- diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index fe1e0ed2b3..616aece6c0 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -526,19 +526,23 @@ <para> The sole disadvantage of increasing <varname>autovacuum_freeze_max_age</> - (and <varname>vacuum_freeze_table_age</> along with it) - is that the <filename>pg_xact</> subdirectory of the database cluster - will take more space, because it must store the commit status of all - transactions back to the <varname>autovacuum_freeze_max_age</> horizon. - The commit status uses two bits per transaction, so if - <varname>autovacuum_freeze_max_age</> is set to its maximum allowed - value of two billion, <filename>pg_xact</> can be expected to - grow to about half a gigabyte. If this is trivial compared to your - total database size, setting <varname>autovacuum_freeze_max_age</> to - its maximum allowed value is recommended. Otherwise, set it depending - on what you are willing to allow for <filename>pg_xact</> storage. - (The default, 200 million transactions, translates to about 50MB of - <filename>pg_xact</> storage.) + (and <varname>vacuum_freeze_table_age</> along with it) is that + the <filename>pg_xact</> and <filename>pg_commit_ts</filename> + subdirectories of the database cluster will take more space, because it + must store the commit status and (if <varname>track_commit_timestamp</> is + enabled) timestamp of all transactions back to + the <varname>autovacuum_freeze_max_age</> horizon. The commit status uses + two bits per transaction, so if + <varname>autovacuum_freeze_max_age</> is set to its maximum allowed value + of two billion, <filename>pg_xact</> can be expected to grow to about half + a gigabyte and <filename>pg_commit_ts</filename> to about 20GB. If this + is trivial compared to your total database size, + setting <varname>autovacuum_freeze_max_age</> to its maximum allowed value + is recommended. Otherwise, set it depending on what you are willing to + allow for <filename>pg_xact</> and <filename>pg_commit_ts</> storage. + (The default, 200 million transactions, translates to about 50MB + of <filename>pg_xact</> storage and about 2GB of <filename>pg_commit_ts</> + storage.) </para> <para>