Add note about diskspace usage of pg_commit_ts

Author: Thomas Munro
This commit is contained in:
Simon Riggs 2017-09-01 07:57:05 +01:00
parent 7b69b6ceb8
commit abe85ef1d0
1 changed files with 17 additions and 13 deletions

View File

@ -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>