Arrange to recycle old XLOG log segment files as new segment files,

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 7d4d5c00f00efaf935e35067375d43d9e72f5e03
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2001-07-19T02:12:35Z
Releases: 7.2.1
Arrange to recycle old XLOG log segment files as new segment files,
rather than deleting them only to have to create more.  Steady state
is 2*CHECKPOINT_SEGMENTS + WAL_FILES + 1 segment files, which will
simply be renamed rather than constantly deleted and recreated.
To make this safe, added current XLOG file/offset number to page
header of XLOG pages, so that an un-overwritten page from an old
incarnation of a logfile can be reliably told from a valid page.
This change means that if you try to restart postmaster in a CVS-tip
database after installing the change, you'll get a complaint about
bad XLOG page magic number.  If you don't want to initdb, run
contrib/pg_resetxlog (and be sure you shut down the old postmaster
cleanly).

Files

PathChange+/−
contrib/pg_resetxlog/pg_resetxlog.c modified +5 −1
src/backend/access/transam/xlog.c modified +190 −70
src/include/access/xlog.h modified +3 −2