Add pg_rewind, for re-synchronizing a master server after failback

Enterprise / PostgreSQL - Heikki Linnakangas [iki.fi] - 23 March 2015 12:47 UTC

Earlier versions of this tool were available (and still are) on github.

Thanks to Michael Paquier, Alvaro Herrera, Peter Eisentraut, Amit Kapila, and Satoshi Nagayasu for review.

61081e7 Add pg_rewind, for re-synchronizing a master server after failback.
doc/src/sgml/high-availability.sgml | 4 +-
doc/src/sgml/ref/allfiles.sgml | 1 +
doc/src/sgml/ref/pg_rewind.sgml | 237 ++++++++++++
doc/src/sgml/reference.sgml | 1 +
src/bin/Makefile | 1 +
src/bin/pg_rewind/.gitignore | 7 +
src/bin/pg_rewind/Makefile | 52 +++
src/bin/pg_rewind/RewindTest.pm | 271 ++++++++++++++
src/bin/pg_rewind/copy_fetch.c | 261 +++++++++++++
src/bin/pg_rewind/datapagemap.c | 126 +++++++
src/bin/pg_rewind/datapagemap.h | 32 ++
src/bin/pg_rewind/fetch.c | 61 +++
src/bin/pg_rewind/fetch.h | 46 +++
src/bin/pg_rewind/file_ops.c | 305 +++++++++++++++
src/bin/pg_rewind/file_ops.h | 24 ++
src/bin/pg_rewind/filemap.c | 667 +++++++++++++++++++++++++++++++++
src/bin/pg_rewind/filemap.h | 108 ++++++
src/bin/pg_rewind/libpq_fetch.c | 464 +++++++++++++++++++++++
src/bin/pg_rewind/logging.c | 140 +++++++
src/bin/pg_rewind/logging.h | 37 ++
src/bin/pg_rewind/nls.mk | 9 +
src/bin/pg_rewind/parsexlog.c | 374 ++++++++++++++++++
src/bin/pg_rewind/pg_rewind.c | 550 +++++++++++++++++++++++++++
src/bin/pg_rewind/pg_rewind.h | 44 +++
src/bin/pg_rewind/t/001_basic.pl | 80 ++++
src/bin/pg_rewind/t/002_databases.pl | 41 ++
src/bin/pg_rewind/t/003_extrafiles.pl | 61 +++
src/bin/pg_rewind/timeline.c | 131 +++++++
src/tools/msvc/Mkvcbuild.pm | 8 +-
29 files changed, 4141 insertions(+), 2 deletions(-)

Upstream: git.postgresql.org


  • Share