1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-29 16:21:20 +03:00

Add note about diskspace usage of pg_commit_ts

Author: Thomas Munro
This commit is contained in:
Simon Riggs 2017-09-01 07:55:00 +01:00
parent 7610547c95
commit 28915c7db4

View File

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