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