Thread: pgsql/ ontrib/pg_resetxlog/pg_resetxlog.c rc/b ...

pgsql/ ontrib/pg_resetxlog/pg_resetxlog.c rc/b ...

From
Tom Lane
Date:
CVSROOT:    /home/projects/pgsql/cvsroot
Module name:    pgsql
Changes by:    tgl@hub.org    01/07/18 22:12:35

Modified files:
    contrib/pg_resetxlog: pg_resetxlog.c
    src/backend/access/transam: xlog.c
    src/include/access: xlog.h

Log message:
    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).