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