From 2589735da08c4e597accb6eab5ae65b6339ee630 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 25 Aug 2001 18:52:43 +0000 Subject: 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. --- src/backend/utils/init/postinit.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'src/backend/utils/init/postinit.c') 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 -- cgit v1.2.3