On 2014-01-31 15:15:24 +0000, Greg Stark wrote: > On Fri, Jan 31, 2014 at 3:08 PM, Andres Freund <and...@2ndquadrant.com> wrote: > > > It points to the end of the record (i.e. the beginning of the next). It > > needs to, because otherwise XLogFlush()es on the pd_lsn wouldn't flush > > enough. > > Ah, in which case the relevant record is: > [cur:EA1/637140, xid:1418089147, rmid:11(Btree), len/tot_len:18/6194, > info:8, prev:EA1/635290] insert_leaf: s/d/r:1663/16385/1261982 tid > 3634978/282 > [cur:EA1/637140, xid:1418089147, rmid:11(Btree), len/tot_len:18/6194, > info:8, prev:EA1/635290] bkpblock[1]: s/d/r:1663/16385/1261982 > blk:3634978 hole_off/len:1240/2072 > > > It looks like get_raw_page() refuses to read past the end of relpages. > I could make a clone of this database to allow experimenting with > tweaking relpages but it may or may not reproduce the problem...
No, it uses smgrnblocks() to get the size. > =# select get_raw_page('data_pkey', 'main', 11073632) ; > ERROR: block number 11073632 is out of range for relation "data_pkey" Isn't the page 3634978? Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers