在 PostgreSQL 9.0 版本中,有什么方法可以从备用服务器查看主详细信息?
Is there any way to view master details from standby server in PostgreSQL version 9.0?
我需要一些有关主服务器详细信息的信息,例如(主主机、主端口等)来自 PostgreSQL 主从复制中的备用服务器 9.0 版 .
我找到了有关 9.6 版 以上主详细信息的解决方案,方法是使用 pg_stat_wal_receiver() 视图。在这个 view
中,有一个名为 conninfo
的列,它给出了复制设置中 master/primary 服务器的信息。同样的,我想知道在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
无法使用 SQL 找到该信息。您可以在 WAL 接收进程上使用 lsof
等工具或阅读 recovery.conf
文件。
您可以尝试的一件事是在 recovery.conf
上使用 pg_read_file
,如果该函数存在于 9.0 中,并解析输出。但是这个解决方案非常脆弱和丑陋。
真的,你应该升级。
尝试使用函数 pg_read_file
读取 recovery.conf 文件
select * from pg_read_file('recovery.conf');
我需要一些有关主服务器详细信息的信息,例如(主主机、主端口等)来自 PostgreSQL 主从复制中的备用服务器 9.0 版 .
我找到了有关 9.6 版 以上主详细信息的解决方案,方法是使用 pg_stat_wal_receiver() 视图。在这个 view
中,有一个名为 conninfo
的列,它给出了复制设置中 master/primary 服务器的信息。同样的,我想知道在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
文件。
您可以尝试的一件事是在 recovery.conf
上使用 pg_read_file
,如果该函数存在于 9.0 中,并解析输出。但是这个解决方案非常脆弱和丑陋。
真的,你应该升级。
尝试使用函数 pg_read_file
读取 recovery.conf 文件select * from pg_read_file('recovery.conf');