Re: Cascading replication and recovery_target_timeline='latest'
Dimitri Fontaine <dimitri@2ndquadrant.fr>
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: hlinnaka@iki.fi
Cc: Fujii Masao <masao.fujii@gmail.com>, Simon Riggs <simon@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-09-05T08:03:47Z
Lists: pgsql-hackers
Heikki Linnakangas <hlinnaka@iki.fi> writes: > On 04.09.2012 03:02, Dimitri Fontaine wrote: >> Heikki Linnakangas<hlinnaka@iki.fi> writes: >>> Hmm, I was thinking that when walsender gets the position it can send the >>> WAL up to, in GetStandbyFlushRecPtr(), it could atomically check the current >>> recovery timeline. If it has changed, refuse to send the new WAL and >>> terminate. That would be a fairly small change, it would just close the >>> window between requesting walsenders to terminate and them actually >>> terminating. > > No, only cascading replication is affected. In non-cascading situation, the > timeline never changes in the master. It's only in cascading mode that you > have a problem, where the standby can cross timelines while it's replaying > the WAL, and also sending it over to cascading standby. It seems to me that it applies to connecting a standby to a newly promoted standby too, as the timeline did change in this case too. Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support