From: | Greg Stark <stark(at)mit(dot)edu> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Recovery inconsistencies, standby much larger than primary |
Date: | 2014-01-31 15:15:24 |
Message-ID: | CAM-w4HOhcs_B9QXszvvis1B+TDyFP7GF-nKQLOTY73vh2m+2ew@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Jan 31, 2014 at 3:08 PM, Andres Freund <andres(at)2ndquadrant(dot)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...
=# select pg_relation_size('data_pkey') / 1024 / 1024 / 1024;
?column?
----------
23
(1 row)
=# select get_raw_page('data_pkey', 'main', 11073632) ;
ERROR: block number 11073632 is out of range for relation "data_pkey"
d9de7pcqls4ib6=# select relpages from pg_class where relname = 'data_pkey';
relpages
----------
2889286
--
greg
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-01-31 15:19:21 | Re: Recovery inconsistencies, standby much larger than primary |
Previous Message | MauMau | 2014-01-31 15:12:54 | Re: [bug fix] psql \copy doesn't end if backend is killed |