On 2014-03-17 11:28:45 -0400, Tom Lane wrote:
> Hm ... "rows disappearing from indexes" might make people think that
> they could fix or mitigate the damage via REINDEX.
Good point. I guess in some cases it will end up working because
VACUUM/hot pruning have cleaned up the mess, but that's certainly not
something I'd want to rely upon. They very well could have messed up
things when presented with bogus input data.
> That's not really
> true though is it? It looks to me like IndexBuildHeapScan will suffer
> an Assert failure in an assert-enabled build, or build a bogus index
> if not assert-enabled, when it comes across a "heap-only" tuple that
> has no parent.
>
> I'm thinking we'd better promote that Assert to a normal runtime elog.
I wonder if we also should make rewriteheap.c warn about such
things. Although I don't immediately see a trivial way to do so.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services