Skip to content

Commit e8c435a

Browse files
committed
docs: Update TOAST storage docs for configurable compression.
Mention that there are multiple TOAST compression methods and that the compression method used is stored in a TOAST pointer along with the other information that was stored there previously. Add a reference to the documentation for default_toast_compression, where the supported methods are listed, instead of duplicating that here. I haven't tried to preserve the text claiming that pglz is "fairly simple and very fast." I have no view on the veracity of the former claim, but LZ4 seems to be faster (and to compress better) so it seems better not to muddy the waters by talking about compression speed as a strong point of PGLZ. Patch by me, reviewed by Justin Pryzby. Discussion: http://postgr.es/m/CA+Tgmoaw_YBwQhOS_hhEPPwFhfAnu+VCLs18EfGr9gQw1z4H-w@mail.gmail.com
1 parent 69d5ca4 commit e8c435a

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

doc/src/sgml/storage.sgml

+6-5
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,9 @@ Further details appear in <xref linkend="storage-toast-inmemory"/>.
394394

395395
<para>
396396
The compression technique used for either in-line or out-of-line compressed
397-
data is a fairly simple and very fast member
398-
of the LZ family of compression techniques. See
399-
<filename>src/common/pg_lzcompress.c</filename> for the details.
397+
data can be selected using the <literal>COMPRESSION</literal> option on a per-column
398+
basis when creating a table. The default for columns with no explicit setting
399+
is taken from the value of <xref linkend="guc-default-toast-compression" />.
400400
</para>
401401

402402
<sect2 id="storage-toast-ondisk">
@@ -425,8 +425,9 @@ retrieval of the values. A pointer datum representing an out-of-line on-disk
425425
<acronym>TOAST</acronym>ed value therefore needs to store the OID of the
426426
<acronym>TOAST</acronym> table in which to look and the OID of the specific value
427427
(its <structfield>chunk_id</structfield>). For convenience, pointer datums also store the
428-
logical datum size (original uncompressed data length) and physical stored size
429-
(different if compression was applied). Allowing for the varlena header bytes,
428+
logical datum size (original uncompressed data length), physical stored size
429+
(different if compression was applied), and the compression method used, if
430+
any. Allowing for the varlena header bytes,
430431
the total size of an on-disk <acronym>TOAST</acronym> pointer datum is therefore 18
431432
bytes regardless of the actual size of the represented value.
432433
</para>

0 commit comments

Comments
 (0)