Hi,
On 1/10/23 2:22 AM, Michael Paquier wrote:
> On Mon, Jan 09, 2023 at 08:30:00AM +0530, Bharath Rupireddy wrote:
>> A recent commit [1] added --save-fullpage option to pg_waldump to
>> extract full page images (FPI) from WAL records and save them into
>> files (one file per FPI) under a specified directory. While it added
>> tests to check the LSN from the FPI file name and the FPI file
>> contents, it missed to further check the FPI contents like the tuples
>> on the page. I'm attaching a patch that basically reads the FPI file
>> (saved by pg_waldump) contents and raw page from the table file (using
>> pageinspect extension) and compares the tuples from both of them. This
>> test ensures that the pg_waldump outputs the correct FPI. This idea is
>> also discussed elsewhere [2].
>>
>> Thoughts?
>
> I am not sure that it is necessary to expand this set of tests to have
> dependencies on heap and pageinspect (if we do so, what of index AMs)
> and spend more cycles on that, while we already have something in
> place to cross-check ReadRecPtr with what's stored in the page header
> written on top of the block size.
I like the idea of comparing the full page (and not just the LSN) but
I'm not sure that adding the pageinspect dependency is a good thing.
What about extracting the block directly from the relation file and
comparing it with the one extracted from the WAL? (We'd need to skip the
first 8 bytes to skip the LSN though).
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com