有没有办法在PostgreSQL 9.0版中查看备用服务器的主细节?

问题描述 投票:0回答:2

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

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

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
2个回答
0
投票

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

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

真的,你应该升级。


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.