On 2024-04-02 11:14, Andy Fan wrote:
> If so, when users call pg_wal_replay_wait, they can get informed when
> the wal is replaied to the target_lsn, but they can't know how long
> time
> it waits unless they check it in application side, I think such
> information will be useful for monitor purpose sometimes.
>
> select pg_wal_replay_wait(lsn, 1000); may just take 1ms in fact, in
> this case, I want this function return 1.
Hi Andy, to get timing we can use \time in psql.
Here is an example.
postgres=# \timing
Timing is on.
postgres=# select 1;
?column?
----------
1
(1 row)
Time: 0.536 ms
> <returnvalue>void</returnvalue>
And returning VOID is the best option, rather than returning TRUE|FALSE
or timing. It left the logic of the procedure very simple, we get an
error if LSN is not reached.
8 years, we tried to add this feature, and now we suggest the best way
for this feature is to commit the minimal version first.
Let's discuss further improvements in future versions.
--
Ivan Kartyshov
Postgres Professional: www.postgrespro.com