]> granicus.if.org Git - postgresql/commitdiff
Add note about diskspace usage of pg_commit_ts
authorSimon Riggs <simon@2ndQuadrant.com>
Fri, 1 Sep 2017 06:55:00 +0000 (07:55 +0100)
committerSimon Riggs <simon@2ndQuadrant.com>
Fri, 1 Sep 2017 06:55:00 +0000 (07:55 +0100)
Author: Thomas Munro

doc/src/sgml/maintenance.sgml

index fe1e0ed2b3da93e2ccb7d3975b900c0fd30b24df..616aece6c0e2aaeea6cde7c454372db49a8262e0 100644 (file)
 
    <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>