On Nov 16, 2016, at 11:39 PM, Jehan-Guillaume de Rorthais <iog...@free.fr> wrote: > > On Wed, 16 Nov 2016 15:51:26 -0900 > Israel Brewster <isr...@ravnalaska.net <mailto:isr...@ravnalaska.net>> wrote: > >> I've been playing around with streaming replication, and discovered that the >> following series of steps *appears* to work without complaint: >> >> - Start with master on server A, slave on server B, replicating via streaming >> replication with replication slots. >> - Shut down master on A >> - Promote slave on B to master >> - Create recovery.conf on A pointing to B >> - Start (as slave) on A, streaming from B >> >> After those steps, A comes up as a streaming replica of B, and works as >> expected. In my testing I can go back and forth between the two servers all >> day using the above steps. >> >> My understanding from my initial research, however, is that this shouldn't be >> possible - I should need to perform a new basebackup from B to A after >> promoting B to master before I can restart A as a slave. Is the observed >> behavior then just a "lucky fluke" that I shouldn't rely on? > > No, it's not a "lucky fluke". > > See > https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=985bd7d49726c9f178558491d31a570d47340459 > > <https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=985bd7d49726c9f178558491d31a570d47340459> > > The only thing you should really pay attention is that the standby was in > Streaming Rep when you instructed the master to shut down, and that it stays > connected until the full stop of the master. > > If you really want to check everything, use pg_xlogdump on the standby and > make > sure the standby received the "shutdown checkpoint" from the master and wrote > it in its WAL. > >> Or is it expected behavior and my understanding about the need for a new >> basebackup is simply off? > > This is expected, but taking a new basebackup was a requirement for some time. > >> Does the new pg_rewind feature of 9.5 change things? If so, how? > > pg_rewind helps if your standby was not connected when you lost/stopped your > master. It reverts the last transactions the master received and that was not > streamed to the promoted standby.
Ah, ok. So kinda an emergency recovery tool then? One step before resorting to backups? In any case, it sounds like it's not something I should need in a *normal* failover scenario, where the master goes down and the slave gets promoted. Thanks for the information! ----------------------------------------------- Israel Brewster Systems Analyst II Ravn Alaska 5245 Airport Industrial Rd Fairbanks, AK 99709 (907) 450-7293 ----------------------------------------------- > > Regards, > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org > <mailto:pgsql-general@postgresql.org>) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > <http://www.postgresql.org/mailpref/pgsql-general>