Re: ZStandard (with dictionaries) compression support for TOAST compression

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Nikhil Kumar Veldanda <veldanda(dot)nikhilkumar17(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: ZStandard (with dictionaries) compression support for TOAST compression
Date: 2025-07-17 05:28:08
Message-ID: aHiJ6Bo9TdaW6yMO@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 15, 2025 at 10:37:02PM -0700, Nikhil Kumar Veldanda wrote:
> 0001 – pg_compression_available()
> pg_compression_available() in misc.c feels sensible;

Actually, I have taken a step back on this one and recalled that the
list of values available for an enum GUC are already available in
pg_settings, so we can already do something without this function,
with the same result:
+SELECT NOT(enumvals @> '{lz4}') AS skip_test FROM pg_settings WHERE
+ name = 'default_toast_compression' \gset

> 0002 – test-suite split
> The new compression.sql / compression_lz4.sql split makes the diffs
> much easier to reason about.

Another thing that I have spent a lot of time on today while having a
second look was the code coverage after a make check. There was one
surprising result: lz4_compress_datum() for the incompressible data
case now has some coverage.

A second thing is AdjustUpgrade.pm, which has the matview compressmv
with a qual based on cmdata1, but I think we're OK as this is an
adjustment of the upgrade dumps for 74a3fc36f314, which exists in
v16~. I'll keep an eye on the buildfarm anyway, in case something
shows up.
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2025-07-17 05:32:30 Re: Log prefix missing for subscriber log messages received from publisher
Previous Message Yugo Nagata 2025-07-17 05:09:14 Re: Prevent internal error at concurrent CREATE OR REPLACE FUNCTION