Обсуждение: Question about timelines

Поиск
Список
Период
Сортировка

Question about timelines

От
Torsten Förtsch
Дата:
Hi,

we have a complex structure of streaming replication (PG 9.3) like:

master --> replica1
   |
   +-----> replica2 --> replica21
               |
               +------> replica22 --> replica221

Now I want to retire master and make replica2 the new master:

               +------> replica1
               |
           replica2 --> replica21
               |
               +------> replica22 --> replica221

replica2 is currently a synchronous replica.

If I "promote" replica2 a new timeline is created. Hence, I have to
instruct all other replicas to follow that new timeline
(recovery_target_timeline = 'latest' in recovery.conf).

On the other hand, since replica2 is synchronous it should have all
transactions when master is shut down. So, I am thinking do I really
need a new timeline? Can't I just remove recovery.conf on replica2 and
restart it as a master. The only thing I then have to do is to point
replica1 to it.

Is that a way to go? If "promoting" is better than why?

Thanks,
Torsten


Re: Question about timelines

От
Haribabu Kommi
Дата:
On Wed, Jul 29, 2015 at 3:46 PM, Torsten Förtsch
<torsten.foertsch@gmx.net> wrote:
> Hi,
>
> we have a complex structure of streaming replication (PG 9.3) like:
>
> master --> replica1
>    |
>    +-----> replica2 --> replica21
>                |
>                +------> replica22 --> replica221
>
> Now I want to retire master and make replica2 the new master:
>
>                +------> replica1
>                |
>            replica2 --> replica21
>                |
>                +------> replica22 --> replica221
>
> replica2 is currently a synchronous replica.
>
> If I "promote" replica2 a new timeline is created. Hence, I have to
> instruct all other replicas to follow that new timeline
> (recovery_target_timeline = 'latest' in recovery.conf).

PostgreSQL 9.3 supports cascade standby to follow automatically the new master
after the timeline switch. In your case even if the timeline is
changed, you need to start
the standby setup for "replica1" only from scratch. All others follows
automatically
the new master.

Regards,
Hari Babu
Fujitsu Australia