Re: ZStandard (with dictionaries) compression support for TOAST compression
Yura Sokolov <y.sokolov@postgrespro.ru>
From: Yura Sokolov <y.sokolov@postgrespro.ru>
To: Nikhil Kumar Veldanda <veldanda.nikhilkumar17@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2025-03-06T17:10:20Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Split regression tests for TOAST compression methods into two files
- 74a3fc36f314 19 (unreleased) landed
-
Refactor non-supported compression error message in toast_compression.c
- 1dbe6f76677c 19 (unreleased) landed
06.03.2025 19:29, Nikhil Kumar Veldanda пишет: > Hi, > >> Overall idea is great. >> >> I just want to mention LZ4 also have API to use dictionary. Its dictionary >> will be as simple as "virtually prepended" text (in contrast to complex >> ZStd dictionary format). >> >> I mean, it would be great if "dictionary" will be common property for >> different algorithms. >> >> On the other hand, zstd have "super fast" mode which is actually a bit >> faster than LZ4 and compresses a bit better. So may be support for >> different algos is not essential. (But then we need a way to change >> compression level to that "super fast" mode.) >> > > zstd compression level and zstd dictionary size is configurable at > attribute level using ALTER TABLE. Default zstd level is 3 and dict > size is 4KB. For super fast mode level can be set to 1. No. Super-fast mode levels are negative. See parsing "--fast" parameter in `programs/zstdcli.c` in zstd's repository and definition of ZSTD_minCLevel(). So, to support "super-fast" mode you have to accept negative compression levels. I didn't check, probably you're already support them? ------- regards Yura Sokolov aka funny-falcon