Re: pg_walinspect - a new extension to get raw WAL data and WAL stats
Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Ashutosh Sharma <ashu.coek88@gmail.com>,
Andrew Dunstan <andrew@dunslane.net>, Greg Stark <stark@mit.edu>, Jeremy Schneider <schneider@ardentperf.com>, Bruce Momjian <bruce@momjian.us>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>, marvin_liang@qq.com,
actyzhang@outlook.com
Date: 2022-03-04T10:23:59Z
Lists: pgsql-hackers
Attachments
- v7-0001-pg_walinspect.patch (application/x-patch) patch v7-0001
- v7-0001-pg_walinspect-tests.patch (application/x-patch) patch v7-0001
- v7-0001-pg_walinspect-docs.patch (application/x-patch) patch v7-0001
On Thu, Mar 3, 2022 at 10:05 PM Robert Haas <robertmhaas@gmail.com> wrote: > > On Fri, Feb 25, 2022 at 6:03 AM Bharath Rupireddy > <bharath.rupireddyforpostgres@gmail.com> wrote: > > Added a new function that returns the first and last valid WAL record > > LSN of a given WAL file. > > Sounds like fuzzy thinking to me. WAL records can cross file > boundaries, and forgetting about that leads to all sorts of problems. > Just give people one function that decodes a range of LSNs and call it > good. Why do you need anything else? If people want to get the first > record that begins in a segment or the first record any portion of > which is in a particular segment or the last record that begins in a > segment or the last record that ends in a segment or any other such > thing, they can use a WHERE clause for that... and if you think they > can't, then that should be good cause to rethink the return value of > the one-and-only SRF that I think you need here. Thanks Robert. Thanks to others for your review comments. Here's the v7 patch set. These patches are based on the motive that "keep it simple and short yet effective and useful". With that in mind, I have not implemented the wait mode for any of the functions (as it doesn't look an effective use-case and requires adding a new page_read callback, instead throw error if future LSN is specified), also these functions will give WAL information on the current server's timeline. Having said that, I'm open to adding new functions in future once this initial version gets in, if there's a requirement and users ask for the new functions. Please review the v7 patch set and provide your thoughts. Regards, Bharath Rupireddy.
Commits
-
Doc build fix: remove tab from filelist.sgml.
- 8638c76cc9f4 15.0 landed
-
Add contrib/pg_walinspect.
- 2258e76f90bf 15.0 landed
-
Simplify SRFs using materialize mode in contrib/ modules
- 5b81703787bf 15.0 cited
-
Invent "trusted" extensions, and remove the pg_pltemplate catalog.
- 50fc694e4374 13.0 cited