pg_stat_replication.sync_state was displayed incorrectly at page boundary.
XLogRecPtrIsInvalid() only checks the xrecoff field, which is correct when
checking if a WAL record could legally begin at the given position, but WAL
sending can legally be paused at a page boundary, in which case xrecoff is
0. Use XLByteEQ(..., InvalidXLogRecPtr) instead, which checks that both
xlogid and xrecoff are 0.
9.3 doesn't have this problem because XLogRecPtr is now a single 64-bit
integer, so XLogRecPtrIsInvalid() does the right thing. Apply to 9.2, and
9.1 where pg_stat_replication view was introduced.
Kyotaro HORIGUCHI, reviewed by Fujii Masao.
Branch
------
REL9_1_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/38b38fb12244c640230b1fd71d2c55ecc04844fa
Modified Files
--------------
src/backend/replication/syncrep.c | 5 +++--
src/backend/replication/walsender.c | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
pgsql-committers by date
| Next: | From: Peter Eisentraut | Date: 2012-11-23 21:25:34 |
| Subject: pgsql: Remove -Wlogical-op from standard compiler flags |
| Previous: | From: Michael Meskes | Date: 2012-11-23 13:40:52 |
| Subject: pgsql: Applied patch by Chen Huajun <chenhj@cn.fujitsu.com> to makeecp |