diff --git a/doc/src/sgml/limits.sgml b/doc/src/sgml/limits.sgml
index f26f4466719..7f7eb51985e 100644
--- a/doc/src/sgml/limits.sgml
+++ b/doc/src/sgml/limits.sgml
@@ -123,10 +123,11 @@
Variable-length fields of
types such as text, varchar, and char
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.
@@ -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 .