mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-01 01:41:14 +02:00
pg_rewind: Don't error if the two clusters are already on the same timeline
This previously resulted in an error and a nonzero exit status, but after discussion this should rather be a noop with a zero exit status.
This commit is contained in:
parent
8c1615531f
commit
6b34e55638
@ -216,8 +216,12 @@ main(int argc, char **argv)
|
|||||||
* do.
|
* do.
|
||||||
*/
|
*/
|
||||||
if (ControlFile_target.checkPointCopy.ThisTimeLineID == ControlFile_source.checkPointCopy.ThisTimeLineID)
|
if (ControlFile_target.checkPointCopy.ThisTimeLineID == ControlFile_source.checkPointCopy.ThisTimeLineID)
|
||||||
pg_fatal("source and target cluster are on the same timeline\n");
|
{
|
||||||
|
printf(_("source and target cluster are on the same timeline\n"));
|
||||||
|
rewind_needed = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
findCommonAncestorTimeline(&divergerec, &lastcommontliIndex);
|
findCommonAncestorTimeline(&divergerec, &lastcommontliIndex);
|
||||||
printf(_("servers diverged at WAL position %X/%X on timeline %u\n"),
|
printf(_("servers diverged at WAL position %X/%X on timeline %u\n"),
|
||||||
(uint32) (divergerec >> 32), (uint32) divergerec,
|
(uint32) (divergerec >> 32), (uint32) divergerec,
|
||||||
@ -252,6 +256,7 @@ main(int argc, char **argv)
|
|||||||
else
|
else
|
||||||
rewind_needed = true;
|
rewind_needed = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!rewind_needed)
|
if (!rewind_needed)
|
||||||
{
|
{
|
||||||
|
14
src/bin/pg_rewind/t/005_same_timeline.pl
Normal file
14
src/bin/pg_rewind/t/005_same_timeline.pl
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use TestLib;
|
||||||
|
use Test::More tests => 1;
|
||||||
|
|
||||||
|
use RewindTest;
|
||||||
|
|
||||||
|
# Test that running pg_rewind if the two clusters are on the same
|
||||||
|
# timeline runs successfully.
|
||||||
|
|
||||||
|
RewindTest::setup_cluster();
|
||||||
|
RewindTest::start_master();
|
||||||
|
RewindTest::create_standby();
|
||||||
|
RewindTest::run_pg_rewind('local');
|
Loading…
Reference in New Issue
Block a user