【问题标题】:Is there any way to view master details from standby server in PostgreSQL version 9.0?有没有办法在 PostgreSQL 9.0 版中从备用服务器查看主详细信息?
【发布时间】:2019-08-15 20:08:59
【问题描述】:

我需要一些有关主服务器详细信息的信息,例如(主主机、主端口等),来自 PostgreSQL 版本 9.0 中主从复制中的备用服务器。

我通过使用 pg_stat_wal_receiver() 视图找到了关于 9.6 版 以上主详细信息的解决方案。在这个view 中,有一个名为conninfo 的列,它提供了复制设置中主/主服务器的信息。同样,我需要知道是否有可能在 Postgres 9.0 版中从备用服务器中找到 master 详细信息

postgres=# select * from pg_stat_wal_receiver;
-[ RECORD 1 ]---------+---------------------------------------------------------
--------------------------------------------------------------------------------
-------------------------------------------------------------
pid                   | 24824
status                | streaming
receive_start_lsn     | 0/E000000
receive_start_tli     | 1
received_lsn          | 0/E000060
received_tli          | 1
last_msg_send_time    | 2019-03-25 19:47:45.032121+05:30
last_msg_receipt_time | 2019-03-25 22:28:14.007002+05:30
latest_end_lsn        | 0/E000060
latest_end_time       | 2019-03-25 19:46:44.890244+05:30
slot_name             |
conninfo              | user=replication password=******** dbname=replication ho
st=172.21.166.68 port=5432 fallback_application_name=walreceiver sslmode=prefer
sslcompression=1 krbsrvname=postgres target_session_attrs=any

【问题讨论】:

    标签: postgresql replication master-slave standby


    【解决方案1】:

    尝试使用函数 pg_read_file 读取 recovery.conf 文件

    select * from pg_read_file('recovery.conf');

    【讨论】:

      【解决方案2】:

      无法使用 SQL 找到该信息。你可以在 WAL 接收进程上使用lsof 之类的工具或读取recovery.conf 文件。

      您可以尝试的一件事是在recovery.conf 上使用pg_read_file,如果该函数存在于9.0 中,并解析输出。但这种解决方案非常脆弱和丑陋。

      真的,你应该升级。

      【讨论】:

        猜你喜欢
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-17
        • 2020-01-09
        • 1970-01-01
        • 2018-07-09
        • 2023-02-13
        相关资源
        最近更新 更多