aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/init/postinit.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-08-25 18:52:43 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-08-25 18:52:43 +0000
commit2589735da08c4e597accb6eab5ae65b6339ee630 (patch)
tree829f7073292c6b55f86580863837441991638405 /src/backend/utils/init/postinit.c
parent4699d81dc99ef1687e9396b57b0ed10f42699792 (diff)
downloadpostgresql-2589735da08c4e597accb6eab5ae65b6339ee630.tar.gz
postgresql-2589735da08c4e597accb6eab5ae65b6339ee630.zip
Replace implementation of pg_log as a relation accessed through the
buffer manager with 'pg_clog', a specialized access method modeled on pg_xlog. This simplifies startup (don't need to play games to open pg_log; among other things, OverrideTransactionSystem goes away), should improve performance a little, and opens the door to recycling commit log space by removing no-longer-needed segments of the commit log. Actual recycling is not there yet, but I felt I should commit this part separately since it'd still be useful if we chose not to do transaction ID wraparound.
Diffstat (limited to 'src/backend/utils/init/postinit.c')
-rw-r--r--src/backend/utils/init/postinit.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index dedd9a8e765..51bd00bec30 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.87 2001/06/16 22:58:16 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.88 2001/08/25 18:52:42 tgl Exp $
*
*
*-------------------------------------------------------------------------
@@ -285,26 +285,15 @@ InitPostgres(const char *dbname, const char *username)
elog(FATAL, "InitPostgres: bad backend id %d", MyBackendId);
/*
- * Initialize the transaction system and the relation descriptor
- * cache. Note we have to make certain the lock manager is off while
- * we do this.
+ * Initialize the transaction system override state.
*/
- AmiTransactionOverride(IsBootstrapProcessingMode());
- LockDisable(true);
+ AmiTransactionOverride(bootstrap);
/*
- * Part of the initialization processing done here sets a read lock on
- * pg_log. Since locking is disabled the set doesn't have intended
- * effect of locking out writers, but this is ok, since we only lock
- * it to examine AMI transaction status, and this is never written
- * after initdb is done. -mer 15 June 1992
+ * Initialize the relation descriptor cache.
+ * The pre-allocated reldescs are created here.
*/
- RelationCacheInitialize(); /* pre-allocated reldescs created here */
-
- InitializeTransactionSystem(); /* pg_log,etc init/crash recovery
- * here */
-
- LockDisable(false);
+ RelationCacheInitialize();
/*
* Initialize the access methods. Does not touch files (?) - thomas