PostgreSQL数据库判断主备角色的五种方法
来源:网络收集 点击: 时间:2024-07-291.方式一:操作系统上查看WAL发送进程或WAL接收进程
执行ps -ef|grep wal |grep -v grep
如果输出wal sender......streaming 进程说明当前数据库为主库

2.如果输出wal receiverstreaing 进程说明当前数据库为备用库

3.方式二:数据库上查看WAL发送进程或WAL接收进程
在主库上查询pg_stat_replication视图,如果返回记录说明是主库,备库上查询此视图无记录
select pid,usename,application_name,client_addr,state,sync_state from pg_stat_replication;

4.在备库上查看pg_stat_wal_receiver视图,如果返回记录说明是备库,流复制主库上此视图无记录

5.方式三:通过系统函数查看
登录数据库执行pg_is_in_recovery()函数,如果返回t说明是备库,返回f说明是主库


6.方式四:查看数据库控制信息
通过pg_controldata命令查看数据库控制信息,内容包含WAL日志信息、checkpoint、数据块等信息,通过Database cluster state信息可以判断是主库还是备库
返回 in production表示为主库 返回 in archive recovery表示是备库


7.方式五:通过recovery.conf配置文件查看
在配置流复制过程中,在备库$PGDATA目录下会创建recovery.conf配置文件,如果存在这个配置文件说明是备库,如果不存在此文件或此文件后缀是recovery.done则说明是主库


此经验由勇敢的choy原创,觉得此经验对你有帮助,请点击下面【投票】予以支持,也可以点击上面的【五角星】来收藏
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1031884.html