Re: Support for 8-byte TOAST values (aka the TOAST infinite loop problem)
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "Burd, Greg" <greg@burd.me>, Nikita Malakhov <hukutoc@gmail.com>, Hannu Krosing <hannuk@google.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-09-16T05:14:43Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add data type oid8, 64-bit unsigned identifier
- b139bd3b6ef0 19 (unreleased) landed
Attachments
- v6-0001-Implement-oid8-data-type.patch (text/x-diff) patch v6-0001
- v6-0002-Refactor-some-TOAST-value-ID-code-to-use-Oid8-ins.patch (text/x-diff) patch v6-0002
- v6-0003-Minimize-footprint-of-TOAST_MAX_CHUNK_SIZE-in-hea.patch (text/x-diff) patch v6-0003
- v6-0004-Renames-around-varatt_external-varatt_external_oi.patch (text/x-diff) patch v6-0004
- v6-0005-Refactor-external-TOAST-pointer-code-for-better-p.patch (text/x-diff) patch v6-0005
- v6-0006-Move-static-inline-routines-of-varatt_external_oi.patch (text/x-diff) patch v6-0006
- v6-0007-Split-VARATT_EXTERNAL_GET_POINTER-for-indirect-an.patch (text/x-diff) patch v6-0007
- v6-0008-Switch-pg_column_toast_chunk_id-return-value-from.patch (text/x-diff) patch v6-0008
- v6-0009-Add-catcache-support-for-OID8OID.patch (text/x-diff) patch v6-0009
- v6-0010-Add-support-for-TOAST-chunk_id-type-in-binary-upg.patch (text/x-diff) patch v6-0010
- v6-0011-Enlarge-OID-generation-to-8-bytes.patch (text/x-diff) patch v6-0011
- v6-0012-Add-relation-option-toast_value_type.patch (text/x-diff) patch v6-0012
- v6-0013-Add-support-for-oid8-TOAST-values.patch (text/x-diff) patch v6-0013
- v6-0014-Add-tests-for-TOAST-relations-with-bigint-as-valu.patch (text/x-diff) patch v6-0014
- v6-0015-Add-new-vartag_external-for-8-byte-TOAST-values.patch (text/x-diff) patch v6-0015
On Thu, Aug 14, 2025 at 02:49:06PM +0900, Michael Paquier wrote: > I have dropped the amcheck test patch for now, which was fun but it's > not really necessary for the "basics". I have done also more tests, > playing for example with pg_resetwal, installcheck and pg_upgrade > scenarios. I am wondering if it would be worth doing a pg_resetwal in > the node doing an installcheck on the instance to be upgraded, bumping > its next OID to be much larger than 4 billion, actually.. Four patches had conflicts with 748caa9dcb68, so rebased as v6. -- Michael