1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

doc: Mention oid8 TOAST values in the limits appendix

limits.sgml mentioned the limit related to oid values in TOAST tables,
where up to 2^32 out-of-line values can be stored.  This section did not
mention oid8 values, able to lift this limitation, for up to 2^64
out-of-line values.

Oversight in 6e58d6356f.

Reported-by: John Naylor <johncnaylorls@gmail.com>
Author: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/CANWCAZa+pWZL1Zjep1pz1F0sVWwNOQf+QfGErOaiUvC10Yr2XA@mail.gmail.com
This commit is contained in:
Michael Paquier
2026-09-23 19:56:45 +09:00
parent a1c37421a8
commit 74b89f8f96

View File

@@ -123,10 +123,11 @@
Variable-length fields of
types such as <type>text</type>, <type>varchar</type>, and <type>char</type>
can have their values stored out of line in the table's TOAST table when the
values are large enough to require it. Only an 18-byte pointer must remain
inside the tuple in the table's heap. For shorter length variable-length
fields, either a 4-byte or 1-byte field header is used and the value is
stored inside the heap tuple.
values are large enough to require it. Only an 18-byte or 22-byte TOAST
pointer must remain inside the tuple in the table's heap, depending on
whether the TOAST table uses OID or OID8 values, respectively. For shorter
length variable-length fields, either a 4-byte or 1-byte field header is used
and the value is stored inside the heap tuple.
</para>
<para>
@@ -145,5 +146,8 @@
can become expensive, in turn slowing down INSERT/UPDATE statements.
Typically, this is only an issue for tables containing many terabytes
of data; partitioning is a possible workaround.
A TOAST table using OID8 values does not have this issue as it can store up
to 2^64 out-of-line values. New identifiers are assigned without searching
for a free one. See <xref linkend="reloption-toast-value-type"/>.
</para>
</appendix>