Re: Different compression methods for FPI - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Different compression methods for FPI
Date
Msg-id YMrvSry/jP0gyvFO@paquier.xyz
Whole thread Raw
In response to Re: Different compression methods for FPI  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Different compression methods for FPI
Re: Different compression methods for FPI
List pgsql-hackers
On Thu, Jun 17, 2021 at 10:19:47AM +0900, Michael Paquier wrote:
> Yeah, I am tempted to just add LZ4 as a first step as the patch
> footprint would be minimal, and we could come back to zstd once we
> have more feedback from the field, if that's necessary.  As said
> upthread, we have more flexibility with WAL than for the relation
> data.

I have worked more on that today and finished with two patches:
- 0001 is the mininal patch to add support for LZ4.  This is in a
rather committable shape.  I noticed that we checked for an incorrect
error code in the compression and decompression paths as LZ4 APIs can
return a negative result.  There were also some extra bugs I spotted.
Its size is satisfying for what it does, and there is MSVC support
out-of-the-box:
 12 files changed, 176 insertions(+), 48 deletions(-)
- 0002 is the extra code need to add ZSTD and do the same.  This still
requires support for MSVC and I have not checked the internals of ZSTD
to see if we do the compress/decompress calls the right way.

While on it, I am going to switch my buildfarm animal to use LZ4 for
toast..  Just saying.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Decoding speculative insert with toast leaks memory
Next
From: Andrey Borodin
Date:
Subject: Re: Different compression methods for FPI