Re: PG Upgrade with hardlinks, when to start/stop master and replicas

From: Martín Fernández <fmartin91(at)gmail(dot)com>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Hellmuth Vargas <hivs77(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: PG Upgrade with hardlinks, when to start/stop master and replicas
Date: 2019-02-19 16:51:12
Message-ID: CAH0BA3nWBT35xm0mXXVDja1=Wnw9Vip3GQYAnPyAXcPnW1DMeg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Stephen,

@bilby91

On Tue, Feb 19, 2019 at 1:37 PM Stephen Frost <sfrost(at)snowman(dot)net> wrote:

> Greetings,
>
> * Martín Fernández (fmartin91(at)gmail(dot)com) wrote:
> > Thanks for information! I've refactor our migration scripts to follow
> the suggestions.
>
> Please don't top-post on these mailing lists.
>
> > One extra question that popped up. As long as we don't start the standby
> (after running rsync), we can always `rm -f $PGDATA_10` and promote the
> standby if necessary for failover right ? We also need to `mv`
> pg_control.old to pg_control in the old data directory.
>
> Not sure which standby we're talking about here, but in general, yes, as
> long as you haven't actually started the system after the
> pg_upgrade/rsync, you should be able to blow away the new cluster that
> pg_upgrade/rsync created and start the old cluster back up and promote
> it (if necessary) and use it.
>
> Note that you should *not* need to do anything with pg_control, I have
> no idea what you're referring to there, but the old cluster should have
> the pg_control file and all the catalog tables in place from before the
> pg_upgrade/rsync (those aren't touched during the pg_upgrade/rsync
> process) and you would just need to start up the old binaries pointing
> at the old PG data directory and everything should just work.
>
>
I did some successful tests yesterday around this scenario. That standby in
this context is that one that received the rsync from the master but was
never started. The old data directory stays intact except for the fact that
globa/pg_control was renmaed with a .old

I have found the documentation on pg_ugprade that states this:

` If you ran pg_upgrade without --link or did not start the new server, the
old cluster was not modified except that, if linking started, a .old suffix
was appended to
$PGDATA/global/pg_control. To reuse the old cluster,
possibly remove the .old suffix from $PGDATA/global/pg_control; you can
then restart the old cluster.`

> Thanks!
>
> Stephen
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andre Piwoni 2019-02-19 16:57:18 Re: Promoted slave tries to archive previously archived WAL file
Previous Message Stephen Frost 2019-02-19 16:37:06 Re: PG Upgrade with hardlinks, when to start/stop master and replicas