From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
Cc: | Justin Pryzby <pryzby(at)telsasoft(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, Andres Freund <andres(at)anarazel(dot)de> |
Subject: | Re: Different compression methods for FPI |
Date: | 2021-06-22 00:11:26 |
Message-ID: | YNEqrhTr39Kj8f/t@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Jun 20, 2021 at 11:15:08PM +0500, Andrey Borodin wrote:
> I have some small questions.
>
> 1.
> + report_invalid_record(record, "image at %X/%X compressed with %s not supported, block %d",
> + (uint32) (record->ReadRecPtr >> 32),
> + (uint32) record->ReadRecPtr,
> + "lz4",
> + block_id);
> Can we point out to user that the problem is in the build?
What about the following error then? Say:
"image at %X/%X compressed with LZ4 not supported by build, block
%d".
> Also, maybe %s can be inlined to lz4 in this case.
I think that's a remnant of the zstd part of the patch set, where I
wanted to have only one translatable message. Sure, I can align lz4
with the message.
> 2.
> > const char *method = "???";
> Maybe we can use something like "unknown" for unknown compression
> methods? Or is it too long string for waldump output?
A couple of extra bytes for pg_waldump will not matter much. Using
"unknown" is fine by me.
> 3. Can we exclude lz4 from config if it's not supported by the build?
Enforcing the absence of this value at GUC level is enough IMO:
+static const struct config_enum_entry wal_compression_options[] = {
+ {"pglz", WAL_COMPRESSION_PGLZ, false},
+#ifdef USE_LZ4
+ {"lz4", WAL_COMPRESSION_LZ4, false},
+#endif
[...]
+typedef enum WalCompression
+{
+ WAL_COMPRESSION_NONE = 0,
+ WAL_COMPRESSION_PGLZ,
+ WAL_COMPRESSION_LZ4
+} WalCompression;
It is not possible to set the GUC, still it is listed in the enum that
allows us to track it. That's the same thing as
default_toast_compression with its ToastCompressionId and its
default_toast_compression_options.
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Pryzby | 2021-06-22 00:19:27 | Re: Different compression methods for FPI |
Previous Message | Tom Lane | 2021-06-22 00:06:57 | Re: Maintaining a list of pgindent commits for "git blame" to ignore |