aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2021-05-06 08:22:45 -0400
committerRobert Haas <rhaas@postgresql.org>2021-05-06 08:22:45 -0400
commit2d0f662402635d591cac9f1daae5e81e7c4374fc (patch)
treec321e2be214452511d23a0db506b553af2216692
parent592f00f8dec68038301467a904ac514eddabf6cd (diff)
downloadpostgresql-2d0f662402635d591cac9f1daae5e81e7c4374fc.tar.gz
postgresql-2d0f662402635d591cac9f1daae5e81e7c4374fc.zip
docs: Clarify how ALTER TABLE .. SET COMPRESSION works.
Justin Pryzby, per a complaint from Michael Paquier. Reviewed by Dilip Kumar and by me. Discussion: http://postgr.es/m/20210429040132.GF27406@telsasoft.com
-rw-r--r--doc/src/sgml/ref/alter_table.sgml16
1 files changed, 15 insertions, 1 deletions
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 6166b263345..9cef1f101eb 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -391,7 +391,21 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
</term>
<listitem>
<para>
- This sets the compression method for a column. The supported compression
+ This sets the compression method to be used for data inserted into a column.
+
+ This does not cause the table to be rewritten, so existing data may still
+ be compressed with other compression methods. If the table is rewritten with
+ <command>VACUUM FULL</command> or <command>CLUSTER</command>, or restored
+ with <application>pg_restore</application>, then all tuples are rewritten
+ with the configured compression methods.
+
+ Also, note that when data is inserted from another relation (for example,
+ by <command>INSERT ... SELECT</command>), tuples from the source data are
+ not necessarily detoasted, and any previously compressed data is retained
+ with its existing compression method, rather than recompressing with the
+ compression methods of the target columns.
+
+ The supported compression
methods are <literal>pglz</literal> and <literal>lz4</literal>.
<literal>lz4</literal> is available only if <literal>--with-lz4</literal>
was used when building <productname>PostgreSQL</productname>.