Hi All, On Friday, June 08, 2012 12:42:00 PM Andres Freund wrote: > On Friday, June 08, 2012 12:25:25 PM Valentine Gogichashvili wrote: > > unfortunately I did not manage to keep the snapshot of the database, that > > had this issue. Ok, after some playing I could reproduce the issue:
master: S1: CREATE FUNCTION insertone() RETURNS void LANGUAGE plpgsql AS $$BEGIN INSERT INTO data(data) VALUES (random()); EXCEPTION WHEN division_by_zero THEN RAISE NOTICE 'huh'; END;$$; S1: BEGIN; S1: SELECT insertone() FROM generate_series(1, 1000); --subxid overflow S2: BEGIN; S2: SELECT insertone(); --allocate xid standby: pg_basebackup LOG: 00000: consistent recovery state reached at 0/5C0001C0 LOG: 00000: recovery snapshot waiting for non-overflowed snapshot or until oldest active xid on standby is at least 4752 (now 3750) master: S1: commit: S3: checkpoint; standby: before patch: crash in assert/elog after: LOG: 00000: recovery snapshots are now enabled So I can confirm the above patch fixes at least that bug. Andres -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs