Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)
Date
Msg-id 17991.1462903579@sss.pgh.pa.us
Whole thread Raw
In response to Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)
Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Tue, May 10, 2016 at 12:19 PM, Andres Freund <andres@anarazel.de> wrote:
>> It's not super likely, yea. But you don't really need to "use" 4 billion
>> oids to get a wraparound. Once you have a significant number of values
>> in various toast tables, the oid counter progresses really rather fast,
>> without many writes. That's because the oid counter is global, but each
>> individual toast write (and other things), perform checks via
>> GetNewOidWithIndex().

> Understood.

Sooner or later we are going to need to go to 8-byte TOAST object
identifiers.  Maybe we should think about doing that sooner not later
rather than trying to invent some anti-wraparound solution here.

In principle, you could support existing TOAST tables and pointers
containing 4-byte IDs in parallel with the new ones.  Not sure how
pg_upgrade would handle it exactly though.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: pg_dump dump catalog ACLs
Next
From: Alvaro Herrera
Date:
Subject: Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)