Re: Re: how to switch old replication Master to new Standby after promoting old Standby - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Re: how to switch old replication Master to new Standby after promoting old Standby
Date
Msg-id 56E816B7.9040805@aklaver.com
Whole thread Raw
In response to Re: how to switch old replication Master to new Standby after promoting old Standby  (John Lumby <johnlumby@hotmail.com>)
Responses Re: how to switch old replication Master to new Standby after promoting old Standby - pg_rewind log file missing  (John Lumby <johnlumby@hotmail.com>)
List pgsql-general
On 03/15/2016 06:54 AM, John Lumby wrote:
> Thank you both for the advice.
> pg_rewind is a nice utility and not only more robust than what I came up with
> but also easier to use and avoids need to shut down new Primary.
>
> Re editing the wiki,  I do have a community account but it seems I need more than that :
>
>             ==>  Editing this wiki now requires "editor" privileges.

https://wiki.postgresql.org/wiki/WikiEditing
"Editing this wiki now requires "editor" privileges.

If you just created a new community account or if your current account
used to have "editor" privileges, you can ask on either the PostgreSQL
-www Mailinglist or the PostgreSQL IRC Channel for "editor" privileges.
Please include your community account name in those requests.

This is due, in large part, to recent spam activity. "

>
> If anyone who has such privileges would like to edit the page,
> here is what I would add to it  --  feel free to edit/rewrite
>
> after the bullet
>
>   . How to restart streaming replication after failover
>
> and before the sub-bullet
>
>      Repeat the operations from 6th;
>
> add this:
>
>      Starting with the old Standby now running as Unreplicated and the old Primary shut down but servicable,
>      with its databases intact,  the task is to put the old Primary into Standby mode
>      as rapidly and unintrusively as possible.
>      This implies not requiring to shut new Primary down and not requiring to make another full base backup.
>      A utility named pg_rewind makes this much simpler and more robust,   and it is included in standard
>      postgresql distribution since 9.5.   -   it is documented under PostgreSQL Server Applications.
>
>      To use pg_rewind :
>       First and most important,   it is essential to have *previously* set the configuration parameter
>            wal_log_hints = on
>         in both the old Primary and old Standby,  *before* the failover.
>         An alternative is described in the documentation but setting this parameter is simpler.
>         If you did not set this or the alternative,   then ,  set it for future,
>         and don't use pg_rewind this time.  See next.
>       Secondly ,  note that pg_rewind will potentially update *every* file in the old Primary cluster,
>         including configuration files.  It is likely that configuration files may not match exactly on the two
systems,
>         so make a copy of postgresql.conf and postgresql.auto.conf for later restore.
>       Thirdly,  double-check that old Primary is shut down.
>       Now run pg_rewind on old Primary using the form
>
>            pg_rewind -D ${pg_cluster_dir} \
>                      --source-server="host=${source_server_ip} port=${source_server_port} user=${replication_user}
password=${replication_password}"\ 
>                      -P
>
>       You can add --debug if you want a blow-by-blow account of every change it makes.
>
>       Now restore your configuration files,  first perhaps comparing what differences there were.
>       Finally,  create the recovery.conf for the new Standby
>
>       You can now start the new Standby.
>
>      There are some limitations with pg_rewind described in documentation.
>      If you could not use it or it failed,  then treat your old Primary as an empty cluster
>      and commission it from the start as described next
>
>
> Cheers,   John Lumby
> ----------------------------------------
>> Date: Mon, 14 Mar 2016 23:46:28 +0100
>> Subject: Re: [GENERAL] Re: how to switch old replication Master to new Standby after promoting old Standby
>> From: michael.paquier@gmail.com
>> To: johnlumby@hotmail.com
>> CC: oleksandr.shulgin@zalando.de; pgsql-general@postgresql.org
>>
>> On Mon, Mar 14, 2016 at 11:08 PM, John Lumby <johnlumby@hotmail.com> wrote:
>>> And indeed in its debug I found
>>> received chunk for file "postgresql.conf", offset 0, size 16482
>>> received chunk for file "postgresql.conf.20160314114055", offset 0, size 16464
>>>
>>> And I now see in its description in the Doc that it intends to do this.
>>> But why would it do that?
>>
>> To make its code more simple. This way there is no need to apply any
>> kind of file-based filters to decide if some files should be copied or
>> not, and it is not that much a big deal to copy the configuration
>> files of the target node before performing the rewind.
>>
>>> Maybe a note about it should be added to the wiki
>>> https://wiki.postgresql.org/wiki/Streaming_Replication
>>> (not sure if I can)
>>
>> With a community account you could edit this page.
>> --
>> Michael
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: John Lumby
Date:
Subject: Re: how to switch old replication Master to new Standby after promoting old Standby
Next
From: John McKown
Date:
Subject: psql question: aborting a "script"