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

pg数据库主备库切换

一、switchover

1、先停主库,再停备库

[postgres@db /var/postgre/data]$touch standby.signal

2、在原主库的数据目录中建文件standby.signal(pg 12以前是recovery.conf),并配置连接新主库的流复制参数。

在postgresql.conf文件中配置如下内容:

primary_conninfo = 'user=postgres password=postgres host=127.0.0.1 port=5433 sslmode=prefer sslcompression=0'

如果是PostgreSQL 12以前的版本可以在recovery.conf文件中配置如下内容

hot_standby = on
standby_mode ='on'
primary_conninfo = 'host=localhost port=5432 user=rep_owner password=rep_owner sslmode=disable sslcompression=1'
restore_command = 'cp /var/postgre/primary_archive/%f %p'

3、把备库的standby.signal文件删掉或重命名

[postgres@db /var/postgre/standby]$rm standby.signal

如果是PostgreSQL 12以前的版本需要重命名recovery.conf文件或删掉

4、启动原备库(现在已经变成了主库)

[postgres@db /var/postgre/standby]$pg_ctl start -D /var/postgre/standby
[postgres@db /var/postgre/standby]$psql -p 5433
psql (16.0)
Type "help" for help.postgres=# select pg_is_in_recovery();pg_is_in_recovery
-------------------f
(1 row)postgres=#

4、启动原主库(现在已经变成了备库)

postgres=# select client_addr,state,sync_state from pg_stat_replication;
 


http://www.mrgr.cn/news/81622.html

相关文章:

  • YashanDB 23.2 YAC -单库多实例架构多活共享集群安装部署指南
  • 计算机伦理与职业规范1:计算的社会背景
  • 数据库管理-第274期 Oracle Enterprise Manager 24ai新特性一览(20241223)
  • Docker部署Sentinel
  • VSCode 插件开发实战(十二):如何集成Git操作能力
  • 使用 Three.js 创建烟花粒子特效教程
  • Vue.use()和Vue.component()
  • 文件路径与Resource接口详解
  • 算法题(16):原地移除元素
  • 学习笔记 --C#基础其他知识点(持续更新)
  • 【Lua之·Lua与C/C++交互·Lua CAPI访问栈操作】
  • jetson Orin nx + yolov8 TensorRT 加速量化 环境配置
  • 《Vue3 二》Vue 的模板语法
  • 精准识别花生豆:基于EfficientNetB0的深度学习检测与分类项目
  • IS-IS协议 配置实验
  • 音视频入门基础:MPEG2-TS专题(22)——FFmpeg源码中,获取TS流的音频信息的实现
  • 六大基础深度神经网络之CNN
  • 【Compose multiplatform教程09】【组件】Image组件
  • 3. Kafka入门—安装与基本命令
  • Vue2:v-for创建echart图表时不能使用动态ref,要使用动态id
  • 关于studywolf_control动态运动原语
  • C#实现图像骨架化(ZhangSuen细化算法)
  • 【形式化验证latency】2.AADL项目结构及语法(一)
  • Qt学习记录
  • android13 系统文字大小和显示大小的修改
  • AI科研助手开发总结:向量与数据权限的应用(三)