postgresql 流复制切换
主备端:
alter system set wal_log_hints = on;
alter system set max_replication_slots = 10;
SELECT * FROM pg_create_physical_replication_slot('node_a_slot');
select slot_name,slot_type,active,active_pid,restart_lsn from pg_replication_slots;vi $PGDATA/pg_hba.conf
流复制的IP权限修改为同一网段,而不是仅指定一个IP地址。重启主备数据库。主端db1关闭数据库
pg_ctl stop -m f 备端db2升为主库:
pg_ctl promote -D $PGDATA查看db2是否升为主端:
pg_controldata | grep cluster
Database cluster state: in production在db2插入测试数据:
[postgres@hgdb1 ~]$ psqlpostgres=# create table test_2(id int4);
CREATE TABLE
postgres=# insert into test_2(id) select n from generate_series(1,10000) n;
INSERT 0 10000在db1上运行pg_rewind
pg_rewind --target-pgdata $PGDATA --source-server='host=DB2IP port=5866 user=postgres dbname=postgres' -P The servers diverged at WAL position 0/1300CEB0 on timeline 5.
Rewinding from last common checkpoint at 0/1200008C on timeline 5
reading source file list
reading target file list
reading WAL in target
need to copy 59 MB (total source directory size is 76 MB)
61185/61185 kB (100%) copied
creating backup label and updating control file
Done!备注:pg_rewind 成功。cd $PGDATA
mv recovery.done recovery.confcat recovery.conf
standby_mode = 'on'
primary_conninfo = 'user=replica password=replica host=DB2IP port=5866 sslmode=prefer sslcompression=1'
primary_slot_name = 'node_a_slot'
recovery_target_timeline = 'latest'pg_ctl startpsqlpostgres=# select count(*) from test_2;count
-------10000
(1 row)三、 pg_rewind原理基本思想是将所有内容从新集群复制到旧集群,除了我们知道的块是一样的。1)扫描旧集群的WAL日志,从新集群的时间轴历史记录从旧集群分出的点之前的最后一个检查点开始。对于每个WAL记录,记下被触摸的数据块。这将产生一个列表,在新集群分支关闭后,旧集群中已更改的所有数据块的列表。2)将所有这些更改的块从新集群复制到旧集群。3)将所有其他文件(如clog,conf文件等)从新集群复制到旧集群。除关系文件外的所有内容。4)从在故障切换中创建的检查点开始,从新集群应用WAL。 (严格来说,pg_rewind不适用于WAL,它只是创建一个备份标签文件,指示当PostgreSQL启动时,它将从该检查点开始重播并应用所有所需的WAL)。
postgresql 流复制切换相关推荐
- PostgreSQL流复制之二:pgpool-II实现PostgreSQL数据库集群(转发+整理)
转发来源: PostgreSQL的集群技术比较:https://iwin.iteye.com/blog/2108807 参考:https://blog.csdn.net/yaoqiancuo3276/ ...
- Pacemaker+Corosync PostgreSQL流复制HA的部署(pha4pgsql)
简介 在众多的PostgreSQL HA方案中,流复制HA方案是性能,可靠性,部署成本等方面都比较好的,也是目前被普遍采用的方案.而用于管理流复制集群的工具中,Pacemaker+Corosync又是 ...
- 基于PostgreSQL流复制的容灾库架构设想及实现
点击上方"蓝字" 关注我们,享更多干货! 一.前言 这几天在对PostgreSQL流复制的架构进行深入研究,其中一个关键的参数:recovery_min_apply_delay引起 ...
- postgresql流复制配置
环境说明 示例环境 主机名 IP 角色 系统版本 数据目录 pg版本 master 192.168.174.200 主库 CentOS Linux release 7.4.1708 (Core) /v ...
- PostgreSQL 12 的同步流复制搭建及主库hang问题处理与分析
点击上方"蓝字" 关注我们,享更多干货! 前言 主备流复制,是PostgreSQL最常用.最简单的一种高可用.读写分离的形式,类似于Oracle的ADG,主库用于读写,备库可以只读 ...
- 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署...
再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署 前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: P ...
- pitr 原理_PostgreSQL热备原理研究及流复制运用
付莎 摘要:高可用性(HA-High Availability)是所有商用数据库系统必须具备的一项基本功能.该文阐述了PostgreSQL数据库的高可用性的实现原理及方法,并对PostgreSQL数据 ...
- postgresql主从备份_基于PG12.2实现主从异步流复制及主从切换教程(下)
概述 今天主要介绍如何搭建PG主从流复制及主从切换,仅供参考. PS:上篇的地址在文末链接. PostgreSQL数据库主从异步流复制搭建 环境说明: 1.安装PG数据库(主从库进行) 用脚本进行,略 ...
- postgresql主从备份_PostgreSQL主从流复制与手动主备切换架构
导读 使用PostgreSQL 11.3 创建两个节点:node1 和 node2: 配置主从流复制,然后做手动切换(failover).为了配置过程简单,两个节点在同一台物理机器上. 首先建立主从同 ...
最新文章
- mysql增量同步kafka_canal解析mysql的binlog实时推送到kafka
- 关于javascript中私有作用域的预解释
- 第六次课作业(质量管理、项目人力资源管理)
- qt中sendevent_Qt中postEvent和sendEvent函数
- 39个工具,120种组合深度评估 (转录组分析工具哪家强)
- php软件开发--html进阶
- 52. Element item() 方法
- java的的socket编程_javasocket编程
- 【论文阅读】强化学习-Transfer and Multitask RL专题8篇
- 【原】JUNIT 源码分析之TestSuite
- 物理机安装linux系统
- Python基础模块:图像处理模块@PIL(批量分类处理图片及添加水印)
- 阿里云对象存储Java-SDK实战
- Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法
- 分享谷歌浏览器历史版本下载地址和谷歌浏览器驱动历史版本下载地址
- Win10命令大全通用
- 《Java Web程序设计基础教程》简介
- 痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程
- G - RMQ and RAQ (cugb2023-s)
- MySQL 数据类型(转)