pgsql: Use WAIT FOR LSN in PostgreSQL::Test::Cluster::wait_for_catchup(
| От | Alexander Korotkov |
|---|---|
| Тема | pgsql: Use WAIT FOR LSN in PostgreSQL::Test::Cluster::wait_for_catchup( |
| Дата | |
| Msg-id | E1vcoog-004gON-2L@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Use WAIT FOR LSN in PostgreSQL::Test::Cluster::wait_for_catchup() When the standby is passed as a PostgreSQL::Test::Cluster instance, use the WAIT FOR LSN command on the standby server to implement wait_for_catchup() for replay, write, and flush modes. This is more efficient than polling pg_stat_replication on the upstream, as the WAIT FOR LSN command uses a latch-based wakeup mechanism. The optimization applies when: - The standby is passed as a Cluster object (not just a name string) - The mode is 'replay', 'write', or 'flush' (not 'sent') - The standby is in recovery For 'sent' mode, when the standby is passed as a string (e.g., a subscription name for logical replication), or when the standby has been promoted, the function falls back to the original polling-based approach using pg_stat_replication on the upstream. Discussion: https://postgr.es/m/CABPTF7UiArgW-sXj9CNwRzUhYOQrevLzkYcgBydmX5oDes1sjg%40mail.gmail.com Author: Xuneng Zhou <xunengzhou@gmail.com> Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Alvaro Herrera <alvherre@kurilemu.de> Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f30848cb05d4d63e1a5a2d6a9d72604f3b63370d Modified Files -------------- src/test/perl/PostgreSQL/Test/Cluster.pm | 59 +++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-)
В списке pgsql-committers по дате отправления: