mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
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.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: relcache.h,v 1.36 2003/08/04 02:40:15 momjian Exp $
|
||||
* $Id: relcache.h,v 1.37 2003/09/24 18:54:02 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -35,6 +35,8 @@ extern List *RelationGetIndexList(Relation relation);
|
||||
extern List *RelationGetIndexExpressions(Relation relation);
|
||||
extern List *RelationGetIndexPredicate(Relation relation);
|
||||
|
||||
extern void RelationSetIndexList(Relation relation, List *indexIds);
|
||||
|
||||
extern void RelationInitIndexAccessInfo(Relation relation);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user