postgresql/src/backend/access
Alvaro Herrera f54106f77e Fix full-table-vacuum request mechanism for MultiXactIds
While autovacuum dutifully launched anti-multixact-wraparound vacuums
when the multixact "age" was reached, the vacuum code was not aware that
it needed to make them be full table vacuums.  As the resulting
partial-table vacuums aren't capable of actually increasing relminmxid,
autovacuum continued to launch anti-wraparound vacuums that didn't have
the intended effect, until age of relfrozenxid caused the vacuum to
finally be a full table one via vacuum_freeze_table_age.

To fix, introduce logic for multixacts similar to that for plain
TransactionIds, using the same GUCs.

Backpatch to 9.3, where permanent MultiXactIds were introduced.

Andres Freund, some cleanup by Álvaro
2013-11-29 21:47:13 -03:00
..
common Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00
gin Get rid of the post-recovery cleanup step of GIN page splits. 2013-11-27 19:21:23 +02:00
gist Post-pgindent cleanup 2013-06-01 09:38:15 -04:00
hash Consistently use unsigned arithmetic for alignment calculations. 2013-10-20 21:04:52 -04:00
heap Refine our definition of what constitutes a system relation. 2013-11-28 20:57:20 -05:00
index Use InvalidSnapshot, now SnapshotNow, as the default snapshot. 2013-07-23 10:58:32 -04:00
nbtree Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
rmgrdesc Another gin_desc fix. 2013-11-28 23:35:50 +02:00
spgist Retry after buffer locking failure during SPGiST index creation. 2013-11-02 16:45:42 -04:00
transam Fix full-table-vacuum request mechanism for MultiXactIds 2013-11-29 21:47:13 -03:00
Makefile Split out rmgr rm_desc functions into their own files 2012-11-28 13:01:15 -03:00