Hello
(I am trying to find an opportunity to review this patch...)
Consider test case with streaming replication:
on primary: create table foo (i int);
on standby:
postgres=# select pg_wal_replay_pause();
pg_wal_replay_pause
---------------------
(1 row)
postgres=# select pg_is_wal_replay_paused();
pg_is_wal_replay_paused
-------------------------
t
(1 row)
postgres=# table foo;
i
---
(0 rows)
Execute "insert into foo values (1);" on primary
postgres=# select pg_promote ();
pg_promote
------------
t
(1 row)
postgres=# table foo;
i
---
1
And we did replay one additional change during promote. I think this is wrong behavior. Possible can be fixed by
+ if (PromoteIsTriggered()) break;
/* Setup error traceback support for ereport() */
errcallback.callback = rm_redo_error_callback;
regards, Sergei