pgsql: Remove forced toast recompression in VACUUM FULL/CLUSTER

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove forced toast recompression in VACUUM FULL/CLUSTER
Date: 2021-06-14 00:26:45
Message-ID: E1lsaRB-000392-Ly@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove forced toast recompression in VACUUM FULL/CLUSTER

The extra checks added by the recompression of toast data introduced in
bbe0a81 is proving to have a performance impact on VACUUM or CLUSTER
even if no recompression is done. This is more noticeable with more
toastable columns that contain non-NULL values.

Improvements could be done to make those extra checks less expensive,
but that's not material for 14 at this stage, and we are not sure either
if the code path of VACUUM FULL/CLUSTER is adapted for this job.

Per discussion with several people, including Andres Freund, Robert
Haas, Álvaro Herrera, Tom Lane and myself.

Discussion: https://postgr.es/m/20210527003144.xxqppojoiwurc2iz@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/dbab0c07e5ba1f19a991da2d72972a8fe9a41bda

Modified Files
--------------
doc/src/sgml/ref/alter_table.sgml | 3 +-
src/backend/access/heap/heapam_handler.c | 61 +----------------------------
src/test/regress/expected/compression.out | 4 +-
src/test/regress/expected/compression_1.out | 2 +-
src/test/regress/sql/compression.sql | 2 +-
5 files changed, 6 insertions(+), 66 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2021-06-14 05:58:57 pgsql: Improve handling of dropped objects in pg_event_trigger_ddl_comm
Previous Message Tom Lane 2021-06-13 18:33:11 pgsql: Work around portability issue with newer versions of mktime().