当前位置: 首页 > news >正文

Postgresql主从配置

主从机器先安装Postgresql

安装postgresql:
postgresql 最新版
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
sudo apt update

sudo apt install postgresql

主服务器设置密码:
sudo -u postgres psql

以下内容内容都是在 postgres=# 下输入
ALTER USER postgres WITH PASSWORD '123456'; # 密码设置为123455,有分号才会执行命令

也可以在主服务器创建专门复制的用户
create user replica login replication password 'replica';

\q #退出客户端

主从都要设置,将来可能会要主从切换:

postgresql远程访问:
vim /etc/postgresql/版本号/main/postgresql.conf
listen_addresses = '*'
wal_level = replica
fsync = on
max_wal_senders = 10 # 从服务器数量
synchronous_commit = on
wal_sender_timeout = 60s
hot_standby = on

vim /etc/postgresql/版本号/main/pg_hba.conf
host all all 0.0.0.0/0 md5
host replication all 0.0.0.0/0 md5

主服务器重启服务
systemctl restart postgresql

从数据库停库
systemctl stop postgresql

删除从服务器数据库
cd /var/lib/postgresql/版本号/main
rm -rf *

基础数据备份

一定要进入到postgres用户里面如:
postgres@localhost:~$ pg_backbaseup -h 192.168.137.129 -D /var/lib/postgresql/版本号/main -U replica -P -v -R -X stream -C -S pgstandby (开始基础备份)
输入密码:replica
-h –指定作为主服务器的主机。
-D –指定数据目录。
-U –指定连接用户。
-P –启用进度报告。
-v –启用详细模式。
-R–启用恢复配置的创建:创建一个standby.signal文件,并将连接设置附加到数据目录下的postgresql.auto.conf。
-X–用于在备份中包括所需的预写日志文件(WAL文件)。流的值表示在创建备份时流式传输WAL。
-C –在开始备份之前,允许创建由-S选项命名的复制插槽。
-S –指定复制插槽名称。

设置standby.signal

vim standby.signal

开启从节点备份
standby_mode = 'on'

systemctl start postgres

查看主从信息

查看从节点是否有t1表
主节点添加一行数据,从节点再查询,可以看到最新的数据
从节点无法完成写操作,他是只读模式
主节点查看从节点信息
select * from pg_stat_replication

从节点查看主节点信息
select * from pg_stat_wal_receiver

主从切换
其实主从的本质就是从节点去主节点不停的备份新的数据。

配置文件的系统其实就是两个:

standby.signal文件,这个是从节点开启备份
postgresql.auto.conf文件,这个从节点指定主节点的地址信息
切换就是原主追加上述配置,原从删除上述配追

1、主从节点全部stop停止

2、原从删除上述配置

3、原从新主启动服务

4、原主新从去原从新主备份一次数据:pg_basebackup操作,同时做解压,然后修改postgresql.conf文件以及standby.signal配置文件

5、启动原主新从查看信息

http://www.hskmm.com/?act=detail&tid=27482

相关文章:

  • 乒乓球
  • 2025年工程管理软件系统推荐榜:交付管理/工程协同/工程管理/智慧工地管理系统
  • 《程序员修炼之道》 阅读笔记一
  • 大型行为模型LBM超越语言模型的技术解析
  • 2025工程管理软件系统推荐榜:技术赋能下的场景化解决方案全景
  • 【LVS入门宝典】LVS-TUN模式原理与配备:跨越网络界限的负载均衡解决方案
  • Java基础-Eclipse工具-面向对象(1)
  • Avalonia UI 投资 Wilderness Labs
  • BLE开发新体验:四种模式全解析,源码免费开放
  • JBoltAI V4 - 那年-冬季
  • 【EI检索】2025年智能决策与机器学习国际学术会议 (ICIDML 2025)
  • 10月9号
  • Qwen3技术报告
  • 赋能智慧监管:国标GB28181平台EasyGBS在明厨亮灶场景中的深度应用
  • CFD与FDM, FEM, FVM的关系?
  • 央国企高管团队为何频繁流失?揭示薪酬结构失衡的深层原因与优化策略
  • 在Ubuntu 22.04系统上安装libimobiledevice的步骤
  • Redis sentinal模式,master挂了的 选举过程
  • 软件技术基础第一次
  • 音频基础知识
  • 有限体积法和有限差分法、有限元法的区别。
  • 用户行为素材可视化
  • “十五五”战略下,央国企人事系统如何破局增效?T集团数字化转型案例分享
  • 关于审批流的记录
  • CF1726E Almost Perfect
  • 如何基于Elasticsearch实现问题联想?
  • 技术人的阅读提效神器:多语言智能中文摘要生成指令
  • 数据结构(树)
  • CSP-S模拟28
  • 形式化验证提升RSA性能与部署效率