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

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: PG Upgrade with hardlinks, when to start/stop master and replicas
Дата
Msg-id 20190219172524.GW6197@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: PG Upgrade with hardlinks, when to start/stop master and replicas  (Martín Fernández <fmartin91@gmail.com>)
Ответы Re: PG Upgrade with hardlinks, when to start/stop master and replicas  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-general
Greetings,

* Martín Fernández (fmartin91@gmail.com) wrote:
> On Tue, Feb 19, 2019 at 1:37 PM Stephen Frost <sfrost@snowman.net> wrote:
> > * Martín Fernández (fmartin91@gmail.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.`

Ah, right, I forgot that it did that, fair enough.

I've never been thrilled with that particular approach due to the
inherent risks of people messing directly with files like pg_control,
but that's how it is for now.

Thanks!

Stephen

Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Michael Lewis
Дата:
Сообщение: Re: Postgresql RDS DB Latency Chossing Hash join Plan
Следующее
От: Rob Nikander
Дата:
Сообщение: procedures and transactions