diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-09-24 18:54:02 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-09-24 18:54:02 +0000 |
commit | a56a016ceb612cdee1ddc5990682f36d541e5b07 (patch) | |
tree | c496319424e0445562dd42ee7229e6d87567996f /src/include/miscadmin.h | |
parent | 5f78c6a886a22209dee62de0c13edd6a68453011 (diff) | |
download | postgresql-a56a016ceb612cdee1ddc5990682f36d541e5b07.tar.gz postgresql-a56a016ceb612cdee1ddc5990682f36d541e5b07.zip |
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.
Diffstat (limited to 'src/include/miscadmin.h')
-rw-r--r-- | src/include/miscadmin.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index d5d6d85c62a..1c1c1d34519 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: miscadmin.h,v 1.133 2003/08/26 15:38:25 tgl Exp $ + * $Id: miscadmin.h,v 1.134 2003/09/24 18:54:01 tgl Exp $ * * NOTES * some of the information in this file should be moved to @@ -296,18 +296,17 @@ extern void InitPostgres(const char *dbname, const char *username); extern void BaseInit(void); /* in utils/init/miscinit.c */ +extern void IgnoreSystemIndexes(bool mode); +extern bool IsIgnoringSystemIndexes(void); +extern void SetReindexProcessing(Oid heapOid, Oid indexOid); +extern bool ReindexIsProcessingHeap(Oid heapOid); +extern bool ReindexIsProcessingIndex(Oid indexOid); extern void CreateDataDirLockFile(const char *datadir, bool amPostmaster); extern void CreateSocketLockFile(const char *socketfile, bool amPostmaster); extern void TouchSocketLockFile(void); extern void RecordSharedMemoryInLockFile(unsigned long id1, unsigned long id2); - extern void ValidatePgVersion(const char *path); extern void process_preload_libraries(char *preload_libraries_string); -/* these externs do not belong here... */ -extern void IgnoreSystemIndexes(bool mode); -extern bool IsIgnoringSystemIndexes(void); -extern bool IsCacheInitialized(void); - #endif /* MISCADMIN_H */ |