From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Alexander Korotkov <akorotkov(at)postgresql(dot)org> |
Cc: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: Implement pg_wal_replay_wait() stored procedure |
Date: | 2024-09-26 08:18:49 |
Message-ID: | ZvUY6bfTwB0GsyzP@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Hi Alexander,
On Fri, Aug 02, 2024 at 06:22:21PM +0000, Alexander Korotkov wrote:
> Implement pg_wal_replay_wait() stored procedure
>
> pg_wal_replay_wait() is to be used on standby and specifies waiting for
> the specific WAL location to be replayed. This option is useful when
> the user makes some data changes on primary and needs a guarantee to see
> these changes are on standby.
>
> The queue of waiters is stored in the shared memory as an LSN-ordered pairing
> heap, where the waiter with the nearest LSN stays on the top. During
> the replay of WAL, waiters whose LSNs have already been replayed are deleted
> from the shared memory pairing heap and woken up by setting their latches.
>
> pg_wal_replay_wait() needs to wait without any snapshot held. Otherwise,
> the snapshot could prevent the replay of WAL records, implying a kind of
> self-deadlock. This is why it is only possible to implement
> pg_wal_replay_wait() as a procedure working without an active snapshot,
> not a function.
>
> Catversion is bumped.
I've spotted that this patch uses an OID that should not be used
during the development cycle:
+{ oid => '111',
+ descr => 'wait for the target LSN to be replayed on standby with an optional timeout',
Please use something in the 8000-9999 range, as required by
98eab30b93d5.
Thanks,
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Korotkov | 2024-09-26 08:53:45 | pgsql: Update oid for pg_wal_replay_wait() procedure |
Previous Message | Michael Paquier | 2024-09-26 04:47:25 | pgsql: tests: Restrict pg_locks queries in advisory_locks.sql to curren |
From | Date | Subject | |
---|---|---|---|
Next Message | Jehan-Guillaume de Rorthais | 2024-09-26 08:48:35 | Re: [BUG] Fix DETACH with FK pointing to a partitioned table fails |
Previous Message | Michael Paquier | 2024-09-26 08:16:07 | Re: Add has_large_object_privilege function |