news 2026/6/25 19:41:26

HighGo Database判断流复制主备角色的方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HighGo Database判断流复制主备角色的方法

文章目录

  • 文档用途
  • 详细信息

文档用途

HighGo Database数据库流复制判断主备角色

详细信息

进行流复制主备切换之前首先要知道当前数据库的角色,以下提供五种方法判断数据库角色,测试环境为一主一备。

1.通过pg_controldata命令查看数据库的控制信息,Database cluster state字段信息可判断是主库还是备库。

主库返回in production:

[highgo@localhost~]$ pg_controldata|grep clusterDatabasecluster state:inproduction

备库返回in archive recovery:

[highgo@localhost~]$ pg_controldata|grep clusterDatabasecluster state:inarchive recovery

2.通过进程查看,ps -ef | grep wal | grep -v grep。

显示wal sender …streaming进程说明当前数据库为主库:

[highgo@localhost~]$ ps-ef|grep wal|grep-v grep highgo1062510239007:03?00:00:00postgres: wal writer process highgo1454010239010:00?00:00:00postgres: wal sender process repuser x.x.150.163(63146)streaming0/100991F8

显示wal receive …streaming说明当前数据库为备库:

[highgo@localhost~]$ ps-ef|grep wal|grep-v grep highgo1869218687010:00?00:00:00postgres: wal receiver process streaming0/100991F8

3.通过查看数据字典表pg_stat_replication。进入psql客户端,输入select * from pg_stat_replication;

主库在表中能查到记录:

[highgo@localhost~]$ psql psql(4.7.6)PSQL:Release4.7.6Connectedto: HighGoDatabaseV4.7Standard EditionRelease4.7.6-64-bitProductionType"help"forhelp.highgo=# select * from pg_stat_replication;pid|usesysid|usename|application_name|client_addr|client_hostna me|client_port|backend_start|backend_xmin|state|se nt_location|write_location|flush_location|replay_location|sync_priority|sync_state-------+----------+---------+------------------+-----------------+-----------------+-------------+-------------------------------+--------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------14540|16384|repuser|walreceiver|x.x.150.163||63146|2019-01-1010:00:23.252552+08||streaming|0/100991F8|0/100991F8|0/100991F8|0/100991F8|0|async(1row)

备库在表中无记录:

highgo=# select * from pg_stat_replication;pid|usesysid|usename|application_name|client_addr|client_hostname|c lient_port|backend_start|backend_xmin|state|sent_location|write_location|flush_location|replay_location|sync_priority|sync_state-----+----------+---------+------------------+-------------+-----------------+-------------+---------------+--------------+-------+---------------+----------------+----------------+-----------------+---------------+------------(0rows)

4.通过系统函数pg_is_in_recovery()判断。

进入psql客户端,输入select pg_is_in_recovery();

主库返回:

highgo=# select pg_is_in_recovery();pg_is_in_recovery-------------------f(1row)

备库返回t:

highgo=# select pg_is_in_recovery();pg_is_in_recovery-------------------t(1row)

5.通过recovery.conf配置文件判断。

进入$PGDATA目录,存在recovery.conf配置文件说明是备库:

[highgo@localhost~]$ cd $PGDATA[highgo@localhostdata]$ ls backup_label.old pg_dynshmem pg_snapshots postgresql.auto.conf base pg_hba.conf pg_stat postgresql.confdata.tar.gz pg_ident.conf pg_stat_tmp postmaster.optsglobalpg_logical pg_subtrans postmaster.pid hgdb.lic pg_multixact pg_tblspc recovery.conf hgdb_log pg_notify pg_twophase pg_clog pg_replslot PG_VERSION pg_commit_ts pg_serial pg_xlog

不存在recovery.conf或此文件后缀名是recovery.done说明是主库。

[highgo@localhost~]$ cd $PGDATA[highgo@localhostdata]$ ls backup_label.old pg_commit_ts pg_serial pg_xlog base pg_dynshmem pg_snapshots postgresql.auto.confdata.tar.gz pg_hba.conf pg_stat postgresql.confglobalpg_ident.conf pg_stat_tmp postmaster.opts hgdb.lic pg_logical pg_subtrans postmaster.pid hgdb_log pg_multixact pg_tblspc NIH pg_notify pg_twophase pg_clog pg_replslot PG_VERSION
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 0:57:52

OpCore Simplify:解决黑苹果配置难题的创新方案

OpCore Simplify:解决黑苹果配置难题的创新方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾因OpenCore配置的复杂性而放弃尝试…

作者头像 李华
网站建设 2026/6/25 18:15:04

多模态图像融合颠覆性突破:重构智能编辑生产力范式

多模态图像融合颠覆性突破:重构智能编辑生产力范式 【免费下载链接】Qwen-Image-Edit-2509 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen-Image-Edit-2509 在当今视觉内容爆炸的时代,多模态图像融合技术正成为破解企业内容生产困局的…

作者头像 李华
网站建设 2026/6/25 14:46:27

观测器选择与工程实践建议

在永磁同步电机(PMSM)的无传感器控制中,观测器是控制系统的“智慧之眼”,其选择与整定直接决定了整个系统的性能、成本和可靠性 。下面这个表格汇总了不同应用场景下观测器选型的核心考量,你可以快速了解全局。 评估维度 消费级方案​ (家电、工具) 工业级方案​ (伺服、…

作者头像 李华
网站建设 2026/6/25 14:44:46

Google Pay PHP集成实战:从密钥陷阱到异常自愈的全链路解决方案

Google Pay PHP集成实战:从密钥陷阱到异常自愈的全链路解决方案 【免费下载链接】google-api-php-client 项目地址: https://gitcode.com/gh_mirrors/goog/google-api-php-client 90%的支付故障源于错误的密钥管理而非API调用本身。本文基于google-api-php-…

作者头像 李华
网站建设 2026/6/25 7:53:00

探索 RAG-Anything:开启多模态 RAG 的新纪元,让文档“活”起来

在 AI 技术日新月异的今天,一个名为 RAG-Anything 的开源项目正悄然掀起多模态文档处理的革命。它不再局限于纯文本,而是能“读懂”图像、表格、公式,甚至将它们关联起来!这究竟是怎样一位“全能型智能助手”?让我们一…

作者头像 李华
网站建设 2026/6/25 7:48:30

革新性黑苹果EFI自动配置工具:OpCore Simplify智能解决方案

革新性黑苹果EFI自动配置工具:OpCore Simplify智能解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 黑苹果EFI配置过程复杂且耗时&…

作者头像 李华