Re: BUG #17513: recompressing already-compressed data via VACUUM FULL or CLUSTER does not work

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: kg(dot)postgresql(at)olympiakos(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #17513: recompressing already-compressed data via VACUUM FULL or CLUSTER does not work
Date: 2022-06-09 01:10:52
Message-ID: YqFInCwQCvMAg3/+@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Jun 08, 2022 at 03:59:51PM -0700, David G. Johnston wrote:
> The described behavior didn't even make it into 14.0; and I have no clue
> where such a thing would be documented to guess if the lack was intentional
> or not. I can confirm that as of today the behavior in HEAD is to not
> decompress and recompress during rewrite. Frankly, this seems like the
> expected behavior absent any documentation to the contrary. Whether there
> is a use case for someone to code up a way to get a recompression to happen
> is another matter. Oddly, I kinda expected that "update cmdata set f1 =
> f1;" might do it but alas it does not (...set f1 = f1 || ''... works; I'm
> not quite sure how much worse that, immediately followed by vacuum full,
> would be compared to whatever it would take to do it all during the full
> vacuum...especially if one is changing every single row on the table).

See commit dbab0c0 about the reasons of this choice, with this thread:
https://www.postgresql.org/message-id/20210527003144.xxqppojoiwurc2iz@alap3.anarazel.de

The docs of ALTER TABLE .. SET COMPRESSION include a note on the
matter: https://www.postgresql.org/docs/14/sql-altertable.html
"This does not cause the table to be rewritten, so existing data may
still be compressed with other compression methods."
--
Michael

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Noah Misch 2022-06-09 05:17:08 Re: Extension pg_trgm, permissions and pg_dump order
Previous Message David G. Johnston 2022-06-08 22:59:51 Re: BUG #17513: recompressing already-compressed data via VACUUM FULL or CLUSTER does not work