Re: Force re-compression with lz4

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Florents Tselai <florents(dot)tselai(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Force re-compression with lz4
Date: 2021-10-17 17:17:14
Message-ID: CABUevEz2XBb-1WKDp4zVjmvj0ro8G0To_C18a_keCdfFf8LsPQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sun, Oct 17, 2021 at 5:12 PM Florents Tselai <florents(dot)tselai(at)gmail(dot)com>
wrote:

> Hello,
>
> I have a table storing mostly text data (40M+ rows) that has
> pg_total_relation_size ~670GB.
> I’ve just upgraded to postgres 14 and I’m now eager to try the new LZ4
> compression.
>
> I’ve altered the column to use the new lz4 compression, but that only
> applies to new rows.
>
> What’s the recommended way of triggering the re-evaluation for
> pre-existing rows?
>
> I tried wrapping a function like the following, but apparently each old
> record retains the compression applied.
>
> text_corpus=(SELECT t.text from ...);
>
> delete from t where id=;
>
> insert into t(id, text) values (id, text_corpus);
>
>
> Fttb, I resorted to preparing an external shell script to execute against
> the db but that’s too slow as it moves data in&out the db.
>
> Is there a smarter way to do this ?
>
>
It should be enough to VACUUM FULL the table. (but it has to be VACUUM
FULL, not a regular vacuum). Or CLUSTER.

--
Magnus Hagander
Me: https://www.hagander.net/ <http://www.hagander.net/>
Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2021-10-17 17:28:24 Re: Force re-compression with lz4
Previous Message Ron 2021-10-17 16:39:07 Re: Force re-compression with lz4