pgsql/ oc/src/sgml/ref/checkpoint.sgml oc/src/ ...

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql/ oc/src/sgml/ref/checkpoint.sgml oc/src/ ...
Дата
Msg-id 200103130117.f2D1H7J48930@hub.org
обсуждение исходный текст
Список pgsql-committers
CVSROOT:    /home/projects/pgsql/cvsroot
Module name:    pgsql
Changes by:    tgl@hub.org    01/03/12 20:17:06

Modified files:
    doc/src/sgml/ref: checkpoint.sgml
    doc/src/sgml   : runtime.sgml wal.sgml
    src/backend/access/transam: transam.c varsup.c xact.c xlog.c
                                xlogutils.c
    src/backend/bootstrap: bootstrap.c
    src/backend/postmaster: postmaster.c
    src/backend/storage/ipc: ipc.c
    src/backend/tcop: postgres.c
    src/backend/utils/init: globals.c miscinit.c
    src/backend/utils/misc: guc.c postgresql.conf.sample
    src/include/access: transam.h xlog.h xlogdefs.h xlogutils.h
    src/include    : miscadmin.h
    src/include/tcop: tcopprot.h
    src/include/storage: ipc.h
    src/backend/utils/hash: Makefile
    src/backend/port/beos: shm.c
    src/backend/port/qnx4: shm.c
Added files:
    src/include/utils: pg_crc.h
    src/backend/utils/hash: pg_crc.c
    src/include/catalog: pg_control.h

Log message:
    XLOG (and related) changes:

    * Store two past checkpoint locations, not just one, in pg_control.
    On startup, we fall back to the older checkpoint if the newer one
    is unreadable.  Also, a physical copy of the newest checkpoint record
    is kept in pg_control for possible use in disaster recovery (ie,
    complete loss of pg_xlog).  Also add a version number for pg_control
    itself.  Remove archdir from pg_control; it ought to be a GUC
    parameter, not a special case (not that it's implemented yet anyway).

    * Suppress successive checkpoint records when nothing has been entered
    in the WAL log since the last one.  This is not so much to avoid I/O
    as to make it actually useful to keep track of the last two
    checkpoints.  If the things are right next to each other then there's
    not a lot of redundancy gained...

    * Change CRC scheme to a true 64-bit CRC, not a pair of 32-bit CRCs
    on alternate bytes.  Polynomial borrowed from ECMA DLT1 standard.

    * Fix XLOG record length handling so that it will work at BLCKSZ = 32k.

    * Change XID allocation to work more like OID allocation.  (This is of
    dubious necessity, but I think it's a good idea anyway.)

    * Fix a number of minor bugs, such as off-by-one logic for XLOG file
    wraparound at the 4 gig mark.

    * Add documentation and clean up some coding infelicities; move file
    format declarations out to include files where planned contrib
    utilities can get at them.

    * Checkpoint will now occur every CHECKPOINT_SEGMENTS log segments or
    every CHECKPOINT_TIMEOUT seconds, whichever comes first.  It is also
    possible to force a checkpoint by sending SIGUSR1 to the postmaster
    (undocumented feature...)

    * Defend against kill -9 postmaster by storing shmem block's key and ID
    in postmaster.pid lockfile, and checking at startup to ensure that no
    processes are still connected to old shmem block (if it still exists).

    * Switch backends to accept SIGQUIT rather than SIGUSR1 for emergency
    stop, for symmetry with postmaster and xlog utilities.  Clean up signal
    handling in bootstrap.c so that xlog utilities launched by postmaster
    will react to signals better.

    * Standalone bootstrap now grabs lockfile in target directory, as added
    insurance against running it in parallel with live postmaster.


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql/contrib/pg_controldata Makefile README.p ...
Следующее
От: Peter Eisentraut - PostgreSQL
Дата:
Сообщение: pgsql/ /configure /configure.in onfig/java.m4