Commit abe85ef1 authored by Simon Riggs's avatar Simon Riggs

Add note about diskspace usage of pg_commit_ts

Author: Thomas Munro
parent 7b69b6ce
...@@ -526,19 +526,23 @@ ...@@ -526,19 +526,23 @@
<para> <para>
The sole disadvantage of increasing <varname>autovacuum_freeze_max_age</> The sole disadvantage of increasing <varname>autovacuum_freeze_max_age</>
(and <varname>vacuum_freeze_table_age</> along with it) (and <varname>vacuum_freeze_table_age</> along with it) is that
is that the <filename>pg_xact</> subdirectory of the database cluster the <filename>pg_xact</> and <filename>pg_commit_ts</filename>
will take more space, because it must store the commit status of all subdirectories of the database cluster will take more space, because it
transactions back to the <varname>autovacuum_freeze_max_age</> horizon. must store the commit status and (if <varname>track_commit_timestamp</> is
The commit status uses two bits per transaction, so if enabled) timestamp of all transactions back to
<varname>autovacuum_freeze_max_age</> is set to its maximum allowed the <varname>autovacuum_freeze_max_age</> horizon. The commit status uses
value of two billion, <filename>pg_xact</> can be expected to two bits per transaction, so if
grow to about half a gigabyte. If this is trivial compared to your <varname>autovacuum_freeze_max_age</> is set to its maximum allowed value
total database size, setting <varname>autovacuum_freeze_max_age</> to of two billion, <filename>pg_xact</> can be expected to grow to about half
its maximum allowed value is recommended. Otherwise, set it depending a gigabyte and <filename>pg_commit_ts</filename> to about 20GB. If this
on what you are willing to allow for <filename>pg_xact</> storage. is trivial compared to your total database size,
(The default, 200 million transactions, translates to about 50MB of setting <varname>autovacuum_freeze_max_age</> to its maximum allowed value
<filename>pg_xact</> storage.) 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>
<para> <para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment