From 61081e75c6741024f7717ade0450090590e96c85 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 23 Mar 2015 19:47:52 +0200 Subject: Add pg_rewind, for re-synchronizing a master server after failback. 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. --- src/bin/pg_rewind/t/002_databases.pl | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/bin/pg_rewind/t/002_databases.pl (limited to 'src/bin/pg_rewind/t/002_databases.pl') diff --git a/src/bin/pg_rewind/t/002_databases.pl b/src/bin/pg_rewind/t/002_databases.pl new file mode 100644 index 0000000000..709c81e265 --- /dev/null +++ b/src/bin/pg_rewind/t/002_databases.pl @@ -0,0 +1,41 @@ +use strict; +use warnings; +use TestLib; +use Test::More tests => 2; + +use RewindTest; + +my $testmode = shift; + +RewindTest::init_rewind_test('databases', $testmode); +RewindTest::setup_cluster(); + +# Create a database in master. +master_psql('CREATE DATABASE inmaster'); + +RewindTest::create_standby(); + +# Create another database, the creation is replicated to the standby +master_psql('CREATE DATABASE beforepromotion'); + +RewindTest::promote_standby(); + +# Create databases in the old master and the new promoted standby. +master_psql('CREATE DATABASE master_afterpromotion'); +standby_psql('CREATE DATABASE standby_afterpromotion'); +# The clusters are now diverged. + +RewindTest::run_pg_rewind(); + +# Check that the correct databases are present after pg_rewind. +check_query('SELECT datname FROM pg_database', + qq(template1 +template0 +postgres +inmaster +beforepromotion +standby_afterpromotion +), + 'database names'); + +exit(0); -- cgit v1.2.1