Re: Add pg_walinspect function with block info columns

Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>

From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Michael Paquier <michael@paquier.xyz>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, melanieplageman@gmail.com, boekewurm+postgres@gmail.com, pgsql-hackers@postgresql.org
Date: 2023-03-30T03:28:23Z
Lists: pgsql-hackers
On Thu, Mar 30, 2023 at 5:15 AM Peter Geoghegan <pg@bowt.ie> wrote:
>
> On Wed, Mar 29, 2023 at 12:47 PM Peter Geoghegan <pg@bowt.ie> wrote:
> > A couple of small tweaks to this appear in the attached revision, v8.
>
> I spent some time on the documentation today, too. Attached is v9,
> which seems pretty close to being committable. I hope to commit what I
> have here (or something very close to it) in the next couple of days.
>
> Note that I've relocated the documentation for pg_get_wal_block_info()
> right after pg_get_wal_records_info(), despite getting some push back
> on that before now. It just doesn't make sense to leave it where it
> is, since the documentation now explains the new functionality by
> directly comparing the two functions.
>
> I also noticed that the docs were never updated following the end_lsn
> changes in commit 5c1b6628 (they still said that you needed an end_lsn
> before the server's current LSN). I've fixed that in passing, and
> added a new "Tip" that advertises the permissive interpretation around
> end_lsn values in a general sort of way (since it applies equally to
> all but one of the pg_walinspect functions). I've also done a little
> bit of restructuring of some of the other functions, to keep things
> consistent with what I want to do with pg_get_wal_block_info.

I took a look at v9 and LGTM.

--
Bharath Rupireddy
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



Commits

  1. Add show_data option to pg_get_wal_block_info.

  2. Show record information in pg_get_wal_block_info.

  3. Fix recent pg_walinspect fpi_length bug.

  4. Improve a few things in pg_walinspect

  5. Rework design of functions in pg_walinspect

  6. pg_walinspect: pg_get_wal_fpi_info() -> pg_get_wal_block_info()