mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Restructure local-buffer handling per recent pghackers discussion.
The local buffer manager is no longer used for newly-created relations (unless they are TEMP); a new non-TEMP relation goes through the shared bufmgr and thus will participate normally in checkpoints. But TEMP relations use the local buffer manager throughout their lifespan. Also, operations in TEMP relations are not logged in WAL, thus improving performance. Since it's no longer necessary to fsync relations as they move out of the local buffers into shared buffers, quite a lot of smgr.c/md.c/fd.c code is no longer needed and has been removed: there's no concept of a dirty relation anymore in md.c/fd.c, and we never fsync anything but WAL. Still TODO: improve local buffer management algorithms so that it would be reasonable to increase NLocBuffer.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: relcache.h,v 1.33 2002/08/02 22:36:05 tgl Exp $
|
||||
* $Id: relcache.h,v 1.34 2002/08/06 02:36:35 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -61,9 +61,7 @@ extern void RelationIdInvalidateRelationCacheByRelationId(Oid relationId);
|
||||
|
||||
extern void RelationCacheInvalidate(void);
|
||||
|
||||
extern void RelationPurgeLocalRelation(bool xactComitted);
|
||||
|
||||
extern void AtEOXactRelationCache(bool commit);
|
||||
extern void AtEOXact_RelationCache(bool commit);
|
||||
|
||||
/*
|
||||
* Routines to help manage rebuilding of relcache init file
|
||||
|
Reference in New Issue
Block a user