-
- Downloads
Create a "relation mapping" infrastructure to support changing the relfilenodes
of shared or nailed system catalogs. This has two key benefits: * The new CLUSTER-based VACUUM FULL can be applied safely to all catalogs. * We no longer have to use an unsafe reindex-in-place approach for reindexing shared catalogs. CLUSTER on nailed catalogs now works too, although I left it disabled on shared catalogs because the resulting pg_index.indisclustered update would only be visible in one database. Since reindexing shared system catalogs is now fully transactional and crash-safe, the former special cases in REINDEX behavior have been removed; shared catalogs are treated the same as non-shared. This commit does not do anything about the recently-discussed problem of deadlocks between VACUUM FULL/CLUSTER on a system catalog and other concurrent queries; will address that in a separate patch. As a stopgap, parallel_schedule has been tweaked to run vacuum.sql by itself, to avoid such failures during the regression tests.
Showing
- contrib/oid2name/oid2name.c 11 additions, 11 deletionscontrib/oid2name/oid2name.c
- doc/src/sgml/catalogs.sgml 4 additions, 2 deletionsdoc/src/sgml/catalogs.sgml
- doc/src/sgml/diskusage.sgml 15 additions, 19 deletionsdoc/src/sgml/diskusage.sgml
- doc/src/sgml/func.sgml 63 additions, 1 deletiondoc/src/sgml/func.sgml
- doc/src/sgml/pgbuffercache.sgml 3 additions, 3 deletionsdoc/src/sgml/pgbuffercache.sgml
- doc/src/sgml/ref/cluster.sgml 6 additions, 6 deletionsdoc/src/sgml/ref/cluster.sgml
- doc/src/sgml/ref/reindex.sgml 10 additions, 34 deletionsdoc/src/sgml/ref/reindex.sgml
- doc/src/sgml/storage.sgml 16 additions, 1 deletiondoc/src/sgml/storage.sgml
- src/backend/access/index/genam.c 3 additions, 2 deletionssrc/backend/access/index/genam.c
- src/backend/access/transam/rmgr.c 3 additions, 2 deletionssrc/backend/access/transam/rmgr.c
- src/backend/access/transam/xact.c 31 additions, 10 deletionssrc/backend/access/transam/xact.c
- src/backend/access/transam/xlog.c 3 additions, 1 deletionsrc/backend/access/transam/xlog.c
- src/backend/bootstrap/bootparse.y 22 additions, 5 deletionssrc/backend/bootstrap/bootparse.y
- src/backend/bootstrap/bootstrap.c 8 additions, 1 deletionsrc/backend/bootstrap/bootstrap.c
- src/backend/catalog/catalog.c 4 additions, 4 deletionssrc/backend/catalog/catalog.c
- src/backend/catalog/heap.c 24 additions, 27 deletionssrc/backend/catalog/heap.c
- src/backend/catalog/index.c 173 additions, 71 deletionssrc/backend/catalog/index.c
- src/backend/catalog/storage.c 51 additions, 9 deletionssrc/backend/catalog/storage.c
- src/backend/catalog/toasting.c 7 additions, 2 deletionssrc/backend/catalog/toasting.c
- src/backend/commands/cluster.c 300 additions, 134 deletionssrc/backend/commands/cluster.c
Loading
Please register or sign in to comment