【问题标题】:How to check if a Postgres 10 cluster is being replicated?如何检查是否正在复制 Postgres 10 集群?
【发布时间】:2018-05-29 11:14:35
【问题描述】:

我正在编写一个 bash 脚本来将我们组织中的 Postgres 服务器从 9.6 升级到 10.4,在 Ubuntu 信任下。我已经完成了主升级,但是我们在开发、登台和生产中都有实例,有和没有备用服务器。我知道如何升级备用服务器,但我正在努力寻找一种通用的方法来确定主服务器是否有备用服务器,如果有,它们的主机名。有人已经这样做了,可以分享一下吗?

【问题讨论】:

    标签: postgresql replication upgrade master standby


    【解决方案1】:

    在master上可以看到pg_stat_replication的监听备用服务器:

    select client_addr, client_hostname from pg_stat_replication 
    

    在standby上,可以在pg_stat_wal_receiver看到master:

    select conninfo from pg_stat_wal_receiver
    

    【讨论】:

    • pg_stat_replication master上的问题,添加了standby相当于答案
    • 宾果游戏。这就是我需要的。我现在可以使用它来获得我想要的东西,即作为数据库副本运行的 Salt minions 的 IP 列表。现在我可以自动升级。 :) sudo -u postgres psql -t -c "select to_json(client_addr) from pg_stat_replication;"
    • 嗯。所以现在我知道我有两台服务器运行,一台作为主服务器,另一台作为热备用服务器。 pg_basebackup 使用复制凭据运行良好。但是 select ... from pg_stat_replication 什么也不返回。压缩。 ???
    • pg_stat_replication 显示活动的侦听器。您是否使用recovery.conf 启动服务器,指示它作为热备用启动?
    • 好的,这是下一步。哈哈! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2022-06-20
    • 2018-07-02
    相关资源
    最近更新 更多