Re: Breakage with VACUUM ANALYSE + partitions - Mailing list pgsql-bugs

From Andres Freund
Subject Re: Breakage with VACUUM ANALYSE + partitions
Date
Msg-id 20160326123942.qnuwqg3yg2y7ae4p@alap3.anarazel.de
Whole thread Raw
In response to Re: Breakage with VACUUM ANALYSE + partitions  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Breakage with VACUUM ANALYSE + partitions  (Noah Misch <noah@leadboat.com>)
Re: Breakage with VACUUM ANALYSE + partitions  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-bugs
On 2016-03-25 12:02:05 -0400, Robert Haas wrote:
> Gosh, that's surprising.  I wonder if that just revealed an underlying
> issue rather than creating it.

I think that's the case; it's just somewhat unlikely to hit in other
cases.

If SMgrRelation->md_fd[n] is an empty relation, and mdread() or another
routine is asking for a block in the second segment - which will error
out. But even if the first segment is zero bytes, _mdfd_getseg() will
dutifully try to open the second segment. Which will succeed in the case
of a truncated relation, because we leave the truncated segment in
place.

ISTM that _mdfd_getseg better check the length of the last segment
before opening the next one?

Regards,

Andres

pgsql-bugs by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Missing rows with index scan when collation is not "C" (PostgreSQL 9.5);
Next
From: Jeff Janes
Date:
Subject: Re: BUG #14032: trigram index is not used for '=' operator