Skip site navigation (1) Skip section navigation (2)

Re: Switching timeline over streaming replication

From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Switching timeline over streaming replication
Date: 2012-09-27 00:59:58
Message-ID: 5063A50E.4090607@agliodbs.com (view raw or flat)
Thread:
Lists: pgsql-hackers
>   Yes that is correct. I thought timeline change happens only when somebody
> does PITR.
>   Can you please tell me why we change timeline after promotion, because the
> original
>   Timeline concept was for PITR and I am not able to trace from code the
> reason 
>   why on promotion it is required?

The idea behind the timeline switch is to prevent a server from
subscribing to a master which is actually behind it.  For example,
consider this sequence:

1. M1->async->S1
2. M1 is at xid 2001 and fails.
3. S1 did not receive transaction 2001 and is at xid 2000
4. S1 is promoted.
5. S1 processed an new, different transaction 2001
6. M1 is repaired and brought back up
7. M1 is subscribed to S1
8. M1 is now corrupt.

That's why we need the timeline switch.

-- 
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com


In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2012-09-27 01:16:21
Subject: Modest proposal: run check_keywords.pl on every build
Previous:From: Tom LaneDate: 2012-09-27 00:55:40
Subject: Re: Does the SQL standard actually define LATERAL anywhere?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group