]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Arrange to recycle old XLOG log segment files as new segment files,
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jul 2001 02:12:35 +0000 (02:12 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jul 2001 02:12:35 +0000 (02:12 +0000)
commit7d4d5c00f00efaf935e35067375d43d9e72f5e03
tree8e9cbb6e3e7e73274e2e06797e7f68f8ebade86d
parent8b77efddedf1fd6b06d35687ec18ac07bc8eb74b
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).
contrib/pg_resetxlog/pg_resetxlog.c
src/backend/access/transam/xlog.c
src/include/access/xlog.h