mirror of
https://github.com/postgres/postgres.git
synced 2025-05-28 05:21:27 +03:00
Add note about diskspace usage of pg_commit_ts
Author: Thomas Munro
This commit is contained in:
parent
7610547c95
commit
28915c7db4
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user