Re: pgsql: Implement pg_wal_replay_wait() stored procedure

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Alexander Korotkov <akorotkov@postgresql.org>, pgsql-committers@lists.postgresql.org
Date: 2024-09-01T23:27:50Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Revert pg_wal_replay_wait() stored procedure

  2. Add 'no_error' argument to pg_wal_replay_wait()

  3. Refactor WaitForLSNReplay() to return the result of waiting

  4. Make WaitForLSNReplay() issue FATAL on postmaster death

  5. Move LSN waiting declarations and definitions to better place

  6. Update oid for pg_wal_replay_wait() procedure

  7. Move pg_wal_replay_wait() to xlogfuncs.c

  8. Implement pg_wal_replay_wait() stored procedure

On Sun, Sep 01, 2024 at 10:35:27PM +0300, Alexander Korotkov wrote:
> This path hasn't changes since the patch revision when it was a
> utility command.  I agree that this doesn't look like proper path for
> stored procedure.  But I don't think src/backend/utils/adt is
> appropriate path either, because it's not really about data type.
> pg_wal_replay_wait() looks a good neighbor for
> pg_wal_replay_pause()/pg_wal_replay_resume() and other WAL-related
> functions.  So, what about moving it to src/backend/access/transam?

Moving the new function to xlogfuncs.c while publishing
WaitForLSNReplay() makes sense to me.
--
Michael