Re: wal_consistency_checking reports an inconsistency on master branch

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: amul sul <sulamul@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2018-04-13T10:08:40Z
Lists: pgsql-hackers
On Fri, Apr 13, 2018 at 02:15:35PM +0530, amul sul wrote:
> I have looked into this and found that the issue is in heap_xlog_delete -- we
> have missed to set the correct offset number from the target_tid when
> XLH_DELETE_IS_PARTITION_MOVE flag is set.

Oh, this looks good to me.  So when a row was moved across partitions
this could have caused incorrect tuple references on a standby, which
could have caused corruptions.

wal_consistency_checking is proving to be worth its cost here...
--
Michael

Commits

  1. Improve representation of 'moved partitions' indicator on deleted tuples.

  2. Allow UPDATE to move rows between partitions.