replay_location indicates incorrect location
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-01-13T10:04:49Z
Lists: pgsql-hackers
Attachments
- incorrect_replay_location_v1.patch (text/x-diff) patch v1
Hi, 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. Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center