postgresql实现单主单从

news2025/6/13 20:33:53

实现步骤

1.主库创建一个有复制权限的用户

CREATE ROLE 用户名
 login # 有登录权限的角色即是用户
 replication #复制权限
encrypted password '密码';

2.主库配置开放从库外部访问权限

修改 pg_hba.conf 文件 (相当于开放防火墙)

# 类型  数据库        用户            地址                 方法

# "local" is for Unix domain socket connections only
host   all             上面创建的用户名           从库地址            trust


# Allow replication connections from localhost, by a user with the
# replication privilege.
host   replication             上面创建的用户名           从库地址            trust

上面是允许登录的 地址

下面是允许复制的地址

3.设置主库wal复制

 修改主库配置文件 postgresql.conf 

wal_level = replica # wal级别:minimal, replica, or logical

max_wal_senders = 4		# 最大发送进程数
wal_keep_size = 16		# 多大wal文件被写满,单位M; 0 disables
wal_sender_timeout = 60s	# wal发送超时时间

max_connections = 100 # 最大连接数,从库需要大于主库这个值

4.主库备份覆盖从库数据文件

1.删除从库的数据文件

2.使用物理备份命令备份主库数据文件到从库

pg_basebackup -h 主库地址 -p 主库端口 -D 复制到从库数据目录  -U 有复制权限的用户 -Fp -Xs -Pv -R --checkpoint=fast

5.配置从库备份主库信息

max_connections = 200

recovery_target_timeline = 'latest' # 'current', 'latest', or timeline ID 恢复哪个时间点


primary_conninfo = 'host=10.0.12.12 port=5432 user=用户名 password=密码'			# 连接主库信息
hot_standby = on			# "off" disallows queries during recovery
max_standby_streaming_delay = 30s	# 最大延迟时间
wal_receiver_status_interval = 10s	# 向主库发送wal接收状态时间
hot_standby_feedback = on		# 发送错误信息
wal_receiver_timeout = 60s		# 接收wal超时时间
wal_retrieve_retry_interval = 5s	# 等待重试时间间隔

6.重启从库

测试

查询复制信息 

select client_addr,sync_state from pg_stat_replication;

 

表示主从部署成功 

主宕机,从升主 

模拟主库宕机,从库手动升级为主库,原主库恢复变成从库。

1.主库停机

2.从库使用命令 pg_ctl promote升级为主库

3.这时恢复原主库作为从库,需要同步主库数据 

# 先删除这个从库数据,再同步主库数据
pg_basebackup -h 新主库地址 -D /var/lib/postgresql/data -p 新主库端口 -U 备份用户 -Fp -Xs -Pv -R --checkpoint=fast

还有一种 利用pg_rewind 命令实现增量同步数据这里没有实现

4.重启从库

5.验证

主库执行

select client_addr,sync_state from pg_stat_replication; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1051644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机图像处理:椒盐噪声和高斯噪声

图像滤波 图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,同时会造成图像一定程度上的模糊,这也叫做平滑或者低通滤波。无论是均衡化直方图和图像滤波,都一定程度上降低了图像阈值分割的难度,直…

MySQL-数据库的操作

1、数据库的操作 数据库是指不同的系统(比如学生信息管理系统和停车管理系统)可以把数据都存储在一个数据库服务器软件中。不同的系统会创建不同的数据库来使用。 1.1显示所有数据库 show databases; 这个是命令行客户端,是以分号为结束的…

JavaScript高阶班之ES6 → ES11(九)

JavaScript高阶班之ES6 → ES11 1、class类1.1、class的静态成员1.2、类的继承1.3、类的get和set方法 2、数值扩展2.1、Number.EPSILON2.2、二进制和八进制2.3、Number.isFinite2.4、Number.isNaN2.5、Number.parseInt、Number.parseFloat2.6、Number.isInteger2.7、Math.trunc…

算法题系列8·买卖股票的最佳时机

目录 题目描述 实现 提交结果 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。 设计一个算法来计算你所能获取的最大利润。…

DHCP(自动分配ip地址实验案例)

目录 实验原理 案例 实验原理 DHCP 使用客户服务器方式,采用请求/应答方式工作。DHCP 基于 UDP 工作,DHCP服务器运行在67号端口,DHCP客户运行在68号端口。 DHCP的工作过程分为以下步骤: (1)DHCP服务器被…

一种单键开关机电路图

我们设计产品时,通常需要设计单键开关机功能。 单键开关机,通常需要单片机的两个IO完成,一个IO用于保持开机状态。另外,一个IO用于判定关机状态。 下面就是一种单键开关机电路原理图: 此单键开关电路已经在S2W-M02、S2…

运用文心大模型优化前端工程师简历

文章目录 大模型写简历第一步,整理大纲:第二步,完善专业技能部分:第三步,写项目经验:文心大模型 输出结果第一步第二步第三步 大模型优化简历文心大模型 输出结果openAI-Chat3.5 输出结果 总结 大模型写简历…

陪诊系统|陪诊软件医疗陪护的创新之路

陪诊服务系统源码功能及解决方案,在一对一专属服务,就医经验丰富的专业陪诊师的陪伴下,就医体验得以优化,就医全程无须自行探究和寻找,就医过程更加省心,同时减轻了家属时间精力的负担。陪诊服务系统提供的…

【Java 进阶篇】MySQL 数据库备份与还原

MySQL 是一款常用的关系型数据库管理系统,用于存储和管理数据。在数据库应用中,数据备份和还原是非常重要的操作,用于保护数据免受意外删除、损坏或数据丢失的影响。本文将详细介绍如何在 MySQL 中进行数据库备份和还原操作,包括常…

【赠书活动】AI时代项目经理必备技能

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

【GDB】 command 命令

GDB command 命令 语法 command 命令是一个很好用的调试命令,它配合断点使用,可以在指定的断点执行预先设置的命令 其语法为:command bread_id,这样会提示你输入你要执行的命令,以 end 结束。这个 bread_id 就是用 …

期权定价模型系列【7】:Barone-Adesi-Whaley定价模型

期权定价模型系列第7篇文章 1.前言 目前大连商品交易所、郑州商品交易所、以及上海期货交易所的所有商品期权都为美式期权,并且大商所的所有期权合约会根据BAW(Barone-Adesi-Whaley)美式期权定价模型计算新上市期权合约的挂牌基准价。 BAW模型(Barone-Adesi and W…

Java进阶篇--网络编程

​​​​​​​ 目录 计算机网络体系结构 什么是网络协议? 为什么要对网络协议分层? 网络通信协议 TCP/IP 协议族 应用层 运输层 网络层 数据链路层 物理层 TCP/IP 协议族 TCP的三次握手四次挥手 TCP报文的头部结构 三次握手 四次挥手 …

[old]TeamDev DotNetBrowser Crack

TeamDev DotNetBrowser将 Chromium Web 浏览器添加到您的 .NET 应用程序中。在 WPF 和 WinForms 中显示现代网页。使用 DOM、JS、网络、打印等。在 Windows x86/x64/ARM64、macOS x64/Apple Silicon、Linux x64/ARM64 上运行,支持.NET Framework 4.5 特征 HTML5、C…

计算机图像处理-均值滤波

均值滤波 线性滤波器的原始数据与滤波结果是一种算术运算,即用加减乘除等运算实现,如均值滤波器(模板内像素灰度值的平均值)、高斯滤波器(高斯加权平均值)等。由于线性滤波器是算术运算,有固定…

基于风险的漏洞管理实现高效安全

通常,网络中存在很多漏洞,修补和修复它们是一个永无止境的过程。但总会有这样的问题:“我应该首先补救什么?如果在我发现另一个开放漏洞之前就被攻击者利用怎么办?” 如何才能避免自己陷入怨恨和悔恨的想法中&#x…

monkeyrunner录制脚本和回放

Monkeyrunner关于使用录制、生成脚本、编译脚本及执行脚本。 首先在计算机上下载和安装SDK、python 2.将recorder.py文件放置SDK文件夹里tools文件夹下 3.USB连接手机,手机端,开启USB调试,并在计算机DOS中输入adb devices命令,查看…

Plant Simulation双深位库堆垛库

Plant Simulation双深位库堆垛库视频演示 自定义多入口,多出口 Plant Simulation双深位库堆垛库

VBA_MF系列技术资料1-192

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-04属于定…

怎么压缩图片?图片太大这样压缩变小

在日常生活中,我们常常会遇到需要上传图片的情况,但由于图片大小超出限制,我们往往需要对其进行压缩。那么,如何有效地压缩图片大小呢?下面就给大家介绍三种方法,帮助你轻松解决图片压缩问题。#长假读书清单…