postgresql/src/include
Alvaro Herrera fb47de2be6 Separate multixact freezing parameters from xid's
Previously we were piggybacking on transaction ID parameters to freeze
multixacts; but since there isn't necessarily any relationship between
rates of Xid and multixact consumption, this turns out not to be a good
idea.

Therefore, we now have multixact-specific freezing parameters:

vacuum_multixact_freeze_min_age: when to remove multis as we come across
them in vacuum (default to 5 million, i.e. early in comparison to Xid's
default of 50 million)

vacuum_multixact_freeze_table_age: when to force whole-table scans
instead of scanning only the pages marked as not all visible in
visibility map (default to 150 million, same as for Xids).  Whichever of
both which reaches the 150 million mark earlier will cause a whole-table
scan.

autovacuum_multixact_freeze_max_age: when for cause emergency,
uninterruptible whole-table scans (default to 400 million, double as
that for Xids).  This means there shouldn't be more frequent emergency
vacuuming than previously, unless multixacts are being used very
rapidly.

Backpatch to 9.3 where multixacts were made to persist enough to require
freezing.  To avoid an ABI break in 9.3, VacuumStmt has a couple of
fields in an unnatural place, and StdRdOptions is split in two so that
the newly added fields can go at the end.

Patch by me, reviewed by Robert Haas, with additional input from Andres
Freund and Tom Lane.
2014-02-13 19:30:30 -03:00
..
access Fix multiple bugs in index page locking during hot-standby WAL replay. 2014-01-14 17:34:51 -05:00
bootstrap Update copyrights for 2013 2013-01-01 17:15:01 -05:00
catalog Fix array slicing of int2vector and oidvector values. 2013-11-23 20:04:00 -05:00
commands Separate multixact freezing parameters from xid's 2014-02-13 19:30:30 -03:00
common pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
datatype Update copyrights for 2013 2013-01-01 17:15:01 -05:00
executor Prevent leakage of SPI tuple tables during subtransaction abort. 2013-07-25 16:45:47 -04:00
foreign Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
lib Reset the binary heap in MergeAppend rescans. 2013-08-30 19:15:32 -04:00
libpq pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
mb pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
nodes Separate multixact freezing parameters from xid's 2014-02-13 19:30:30 -03:00
optimizer Compute correct em_nullable_relids in get_eclass_for_sort_expr(). 2013-11-15 16:46:21 -05:00
parser Disallow LATERAL references to the target table of an UPDATE/DELETE. 2014-01-11 19:03:15 -05:00
port Enable building with Visual Studion 2013. 2014-01-26 09:45:43 -05:00
portability Update copyrights for 2013 2013-01-01 17:15:01 -05:00
postmaster Separate multixact freezing parameters from xid's 2014-02-13 19:30:30 -03:00
regex Support indexing of regular-expression searches in contrib/pg_trgm. 2013-04-09 01:06:54 -04:00
replication pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
rewrite Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
snowball Update copyrights for 2013 2013-01-01 17:15:01 -05:00
storage Fix multiple bugs in index page locking during hot-standby WAL replay. 2014-01-14 17:34:51 -05:00
tcop pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
tsearch Update copyrights for 2013 2013-01-01 17:15:01 -05:00
utils Separate multixact freezing parameters from xid's 2014-02-13 19:30:30 -03:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
fmgr.h Add infrastructure for storing a VARIADIC ANY function's VARIADIC flag. 2013-01-21 20:26:15 -05:00
funcapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
getaddrinfo.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
getopt_long.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
Makefile Install headers from the new src/include/common subdirectory. 2013-02-26 15:27:30 -05:00
miscadmin.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
pg_config.h.in Improve handling of ereport(ERROR) and elog(ERROR). 2013-01-13 18:40:09 -05:00
pg_config.h.win32 Enable building with Visual Studion 2013. 2014-01-26 09:45:43 -05:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_trace.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pgstat.h Split pgstat file in smaller pieces 2013-02-18 18:12:52 -03:00
pgtar.h Move tar function headers to pgtar.h 2013-01-02 20:34:08 +01:00
pgtime.h Fix some odd behaviors when using a SQL-style simple GMT offset timezone. 2013-11-01 12:13:23 -04:00
port.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
postgres.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
postgres_ext.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
postgres_fe.h Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
rusagestub.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
windowapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00