我在 postgresql 中设置了 Wal Shipping(备用):
在主服务器中,我已启用archive_mode = on
,archive_command
到主服务器和从服务器之间的共享位置以及archive_timeout
.
在从属设备中,我已配置Restore_command
为从共享位置恢复这些 wal 文件并创建了一个standby.signal
文件。
但是如何通过 SQL 监控从站是否已同步并应用这些日志呢?
我知道在流复制中我们可以:
-- on master
select * from pg_stat_replication;
-- On replica
select * from pg_stat_wal_receiver;
但是使用 wal Shipping 进行手动复制怎么样?
您可以在备用数据库上运行此查询,以找出从主数据库重播的最后一个事务的时间戳:
要查看服务器是否仍然是备用服务器,可以检查它是否处于恢复模式: