]> granicus.if.org Git - postgresql/commit
Repair some REINDEX problems per recent discussions. The relcache is
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 24 Sep 2003 18:54:02 +0000 (18:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 24 Sep 2003 18:54:02 +0000 (18:54 +0000)
commita56a016ceb612cdee1ddc5990682f36d541e5b07
treec496319424e0445562dd42ee7229e6d87567996f
parent5f78c6a886a22209dee62de0c13edd6a68453011
Repair some REINDEX problems per recent discussions.  The relcache is
now able to cope with assigning new relfilenode values to nailed-in-cache
indexes, so they can be reindexed using the fully crash-safe method.  This
leaves only shared system indexes as special cases.  Remove the 'index
deactivation' code, since it provides no useful protection in the shared-
index case.  Require reindexing of shared indexes to be done in standalone
mode, but remove other restrictions on REINDEX.  -P (IgnoreSystemIndexes)
now prevents using indexes for lookups, but does not disable index updates.
It is therefore safe to allow from PGOPTIONS.  Upshot: reindexing system catalogs
can be done without a standalone backend for all cases except
shared catalogs.
22 files changed:
doc/src/sgml/ref/postgres-ref.sgml
doc/src/sgml/ref/reindex.sgml
src/backend/access/index/genam.c
src/backend/access/transam/xact.c
src/backend/catalog/index.c
src/backend/catalog/pg_largeobject.c
src/backend/commands/functioncmds.c
src/backend/commands/indexcmds.c
src/backend/commands/vacuum.c
src/backend/executor/execUtils.c
src/backend/executor/nodeIndexscan.c
src/backend/storage/ipc/sinval.c
src/backend/tcop/postgres.c
src/backend/tcop/utility.c
src/backend/utils/cache/relcache.c
src/backend/utils/cache/syscache.c
src/backend/utils/init/miscinit.c
src/include/catalog/index.h
src/include/miscadmin.h
src/include/utils/errcodes.h
src/include/utils/rel.h
src/include/utils/relcache.h