mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
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.
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user