Postgres 搭建主从集群 简介本文介绍如何搭建 Postgres 主从集群操作系统为 CentOS7数据库版本是 postgresql-15官网地址https://www.postgresql.org/安装参考官方提供的下面这几条命令进行安装命令如下sudoyuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudoyuminstall-ypostgresql15-serversudo/usr/pgsql-15/bin/postgresql-15-setup initdbsudosystemctlenablepostgresql-15sudosystemctl start postgresql-15为防止网络原因rpm文件最好是浏览器下载下来传到服务器上离线安装若执行第二步sudo yum install -y postgresql15-server出现下面这些报错敲下面这两行命令解决yum-config-manager--disablepgdg12 yum-config-manager--disablepgdg13安装过程如下连接测试连接相关参考下面这篇博客需要进行一些设置这里不再赘述PostgreSQL安装/卸载CentOS、Windows搭建如下在这两台服务器上各自搭建了 Postgres 数据库账号均为postgres/123456关于如何设置账号参考下面这篇博客如何设置postgresql数据库的账户密码1主从库设置postgres 数据库主要的配置文件是以下两个postgresql.conf配置文件pg_hba.conf客户端访问权限控制文件搭建主从postgresql.conf需进行以下配置listen_addresses*wal_levelreplica max_wal_senders10wal_keep_size1GBmax_replication_slots10hot_standbyon这些配置在初始配置文件中都有有的被注释了打开即可另外一个配置文件pg_hba.conf配置如下末尾需开放主从复制的连接权限严格来的话这里需指定对应网段尽可能缩小连接访问范围设置完都需要重启 Postgres 数据库2主库设置以192.168.101.16为主库在服务器上敲下面的命令进行配置su- postgres psql -- 创建复制用户密码 Rep123456 CREATEUSERrepuser WITH REPLICATION PASSWORDRep123456;-- 创建物理复制槽防止主库wal日志清理导致从库断连 SELECT pg_create_physical_replication_slot(slot_slave_18);-- 查看确认创建成功 SELECT slot_name,active FROM pg_replication_slots;\q也可以直接在连接工具Datagrip中直接敲 SQL 语句3从库配置敲下面的命令systemctl stop postgresql-15# 备份原有数据防止出错回滚mv/var/lib/pgsql/15/data /var/lib/pgsql/15/data_bak# 新建空目录mkdir/var/lib/pgsql/15/datachownpostgres:postgres /var/lib/pgsql/15/datachmod700/var/lib/pgsql/15/data切换 Postgres 用户敲下面的命令设置主库su- postgres pg_basebackup-h192.168.101.16-p5432-Urepuser-D/var/lib/pgsql/15/data-Fp-Xs-P-R如下切回 root 用户重启 Postgres 数据库systemctl start postgresql-15 systemctlenablepostgresql-15验证以上就搭建完成了可敲下面的命令验证1主库验证su- postgres psql SELECT pid,usename,application_name,state,write_lag FROM pg_stat_replication;或在连接工具中敲 SQL 语句SELECTpid,usename,application_name,state,write_lagFROMpg_stat_replication;如下可见主从复制的进程记录表示主从复制在进行中2从库验证敲下面的命令su- postgres psql -- 返回true代表是备库 SELECT pg_is_in_recovery();-- 查看wal接收回放进度 SELECT pg_last_wal_receive_lsn(),pg_last_wal_replay_lsn();或者在连接工具中敲下面的 SQL-- 返回true代表是备库SELECTpg_is_in_recovery();-- 查看wal接收回放进度SELECTpg_last_wal_receive_lsn(),pg_last_wal_replay_lsn();如下使用在主库中创建一个数据库表插入一条记录CREATETABLEtest_sync(idint);INSERTINTOtest_syncVALUES(1);如下通过工具直接看从库数据库表和记录都同步过来了主库新增记录从库实时同步非常 Nice

相关新闻

最新新闻

雅思词汇背了又忘?这个方法让你1小时记牢100个,手脑并用效率翻10倍

雅思词汇背了又忘?这个方法让你1小时记牢100个,手脑并用效率翻10倍

雅思词汇背了又忘?这个方法让你1小时记牢100个,手脑并用效率翻10倍 背了3个月单词,阅读还是卡在生词上?听力听到熟悉的词,愣是拼不出来?写作想用高级词,写到一半卡壳了? 这不是你不…

2026/7/13 3:34:47
spdlog与Log4j对比:C++高性能日志库的设计哲学与工程实践

spdlog与Log4j对比:C++高性能日志库的设计哲学与工程实践

1. 项目概述:当C开发者需要Java生态的日志体验如果你是一名C开发者,同时也在Java项目里用过Log4j,那你大概率有过这样的念头:要是C里也有一个像Log4j那样功能齐全、配置灵活、生态成熟的日志库就好了。Log4j在Java世界里几乎是日志…

2026/7/13 3:34:47
好用的客服外包

好用的客服外包

从业近十年,见过太多商家在客服外包上反复踩坑:有人被低报价吸引,结果差评率飙升;有人签约时承诺“金牌服务”,实际派来的客服连产品参数都说不清;还有人觉得自己已经看透了套路,结果在季度大促…

2026/7/13 3:34:47
模板驱动文档自动化:零代码实现动态数据填充与PDF生成

模板驱动文档自动化:零代码实现动态数据填充与PDF生成

1. 项目概述:当文档生产变成“填空题”,而不是“写作文”你有没有经历过这种场景:每周一早上,市场部同事准时把一份《月度客户反馈摘要》模板发到群里,要求销售、客服、产品三个部门各自填入数据,再汇总成P…

2026/7/13 3:34:47
构建大语言模型训练专用GPU工作站的完整指南

构建大语言模型训练专用GPU工作站的完整指南

1. 这不是装一台“能跑大模型”的电脑,而是在构建一个精密的计算工作台“Setting up the GPU-Based LLM Training Machine”——这个标题里没有花哨的营销话术,没有“一键部署”“秒级启动”的承诺,它直白得近乎冷酷:你要搭建的&a…

2026/7/13 3:34:46
STM32F411RE与AD5593R硬件协同设计与应用实战

STM32F411RE与AD5593R硬件协同设计与应用实战

1. AD5593R与STM32F411RE的硬件协同设计1.1 核心器件选型解析AD5593R这颗芯片最吸引人的地方在于它的多功能性——8个可编程通道能灵活配置为12位ADC、12位DAC或数字IO。相比市场上常见的单功能ADC/DAC芯片,它的集成度优势非常明显。实测其DAC建立时间仅需4μs&…

2026/7/13 3:29:45

月新闻