Re: Toast compression method options

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: Toast compression method options
Дата
Msg-id YMxAinTJMK6/zZSK@paquier.xyz
обсуждение исходный текст
Ответ на Re: Toast compression method options  (Dilip Kumar <dilipbalaut@gmail.com>)
Ответы Re: Toast compression method options  (Dilip Kumar <dilipbalaut@gmail.com>)
Список pgsql-hackers
On Thu, May 06, 2021 at 07:23:48PM +0530, Dilip Kumar wrote:
> I have fixed some comments offlist reported by Justin.  Apart from
> that, I have also improved documentation and test case.  Stil it has a
> lot of cleanup to be done but I am not planning to do that
> immediately.

I was testing the various compression algos we touch in core, and I am
not really convinced that we need more code to control that.  First,
pglz is living as-is in the backend code for a very long time and no
one has expressed an interest in controlling the compression strategy
used AFAIK.  On top of that, LZ4 outclasses it easily, so if there is
a need to worry about performance with the TOAST data, users could
just move to use LZ4.

+       if (strcmp(def->defname, "acceleration") == 0)
+       {
+           int32 acceleration =
+               pg_atoi(defGetString(def), sizeof(acceleration), 0);
+
+           if (acceleration < INT32_MIN || acceleration > INT32_MAX)
+               ereport(ERROR,
+                   (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+                    errmsg("unexpected value for lz4 compression acceleration: \"%s\"",
+                               defGetString(def)),
+                    errhint("expected value between INT32_MIN and
INT32_MAX")
+                   ));

Then comes the part with LZ4 and its acceleration.  The default
compression level used by LZ4 compresses data the most, and it is
already pretty cheap in CPU.  Do you have cases where this would be
useful?  Increasing the acceleration reduces the compression to be
close to zero, but if one cares about the compression cost, he/she
could fall back to the external storage for basically the same
effect.  Is there really a use-case for something in-between?
--
Michael

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Smith
Дата:
Сообщение: Re: Optionally automatically disable logical replication subscriptions on error
Следующее
От: Takashi Menjo
Дата:
Сообщение: Re: Map WAL segment files on PMEM as WAL buffers