Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)
| От | Tom Lane |
|---|---|
| Тема | Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors) |
| Дата | |
| Msg-id | 17991.1462903579@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors) (Robert Haas <robertmhaas@gmail.com>) |
| Ответы |
Re: HeapTupleSatisfiesToast() busted? (was atomic
pin/unpin causing errors)
Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors) |
| Список | 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 по дате отправления: