我需要一些关于主服务器详细信息的信息,例如(主机 - 主机,主端口等),这些信息来自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
使用SQL无法找到该信息。您可以在WAL接收器进程上使用lsof
等工具或读取recovery.conf
文件。
您可以尝试的一件事是在pg_read_file
上使用recovery.conf
,如果该函数存在于9.0中,并解析输出。但是这个解决方案很脆弱,很难看。
真的,你应该升级。
尝试使用函数pg_read_file读取recovery.conf文件
select * from pg_read_file('recovery.conf');