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

From Justin Pryzby
Subject Re: Different compression methods for FPI
Date
Msg-id 20220907085729.GW31833@telsasoft.com
Whole thread Raw
In response to Re: Different compression methods for FPI  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Different compression methods for FPI
List pgsql-hackers
On Wed, Sep 07, 2022 at 03:29:08PM +0900, Michael Paquier wrote:
> At the end, I have not taken the approach to use errdetail() for this
> problem as errormsg_buf is designed to include an error string.  So, I
> have finished by refining the error messages generated in
> RestoreBlockImage(), consuming them with an ERRCODE_INTERNAL_ERROR.

The cases involving max_block_id, has_image and in_use are still "can't
happen" cases, which used to hit elog(), and INTERNAL_ERROR sounds right
for them.

But that's also what'll happen when attempting to replay WAL using a postgres
build which doesn't support the necessary compression method.  I ran into this
while compiling postgres locally while reporting the recovery_prefetch bug,
when I failed to compile --with-zstd.  Note that basebackup does:

src/backend/backup/basebackup_zstd.c-   ereport(ERROR,
src/backend/backup/basebackup_zstd.c-                   (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
src/backend/backup/basebackup_zstd.c:                    errmsg("zstd compression is not supported by this build")));
src/backend/backup/basebackup_zstd.c-   return NULL;                            /* keep compiler quiet */

-- 
Justin



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: SYSTEM_USER reserved word implementation
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: Tracking last scan time