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