When I looked at pg_stat_replication just after starting the standby before
executing any write transactions on the master, I found that replay_location
indicated incorrect location different from sent/write/flush_location. Then,
if I ran write transaction on the master, replay_location indicated the same
location as the others.
The cause of this problem is that Xlogctl->recoveryLastRecPtr which points
to replay_location is initialized with wrong variable ReadRecPtr. Instead, it
should be initialized with EndRecPtr. Attached patch does that. This needs
to be backported to 9.0.
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
pgsql-hackers by date
|Next:||From: Alexander Björnhagen||Date: 2012-01-13 10:30:40|
|Subject: Re: Standalone synchronous master|
|Previous:||From: Pierre C||Date: 2012-01-13 09:48:56|
|Subject: Re: Inlining comparators as a performance optimisation |