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

postgresql实现单主单从

实现步骤

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 logicalmax_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 = 200recovery_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; 

相关文章:

postgresql实现单主单从

实现步骤 1.主库创建一个有复制权限的用户 CREATE ROLE 用户名login # 有登录权限的角色即是用户replication #复制权限 encrypted password 密码;2.主库配置开放从库外部访问权限 修改 pg_hba.conf 文件 (相当于开放防火墙) # 类型 数据库 …...

提取PDF数据:Documents for PDF ( GcPdf )

在当今数据驱动的世界中,从 PDF 文档中无缝提取结构化表格数据已成为开发人员的一项关键任务。借助GrapeCity Documents for PDF ( GcPdf ),您可以使用 C# 以编程方式轻松解锁这些 PDF 中隐藏的信息宝藏。 考虑一下 PDF(最常用的文档格式之一…...

adb连接切换到模拟器端口

查看连接状态 adb devices出现以下情况 C:\Users\22560>adb devices List of devices attached 127.0.0.1:5555 offline emulator-5554 device可以发现我们想要连接的雷电模拟器的5555端口目前没有连接,只有emulator-5554被连接了,此时我们需要关…...

为何每个开发者都在谈论Go?

目录 一、引言Go的历史回顾关键时间节点 使用场景Go的语言地位技术社群与企业支持资源投入和生态系统 二、简洁的语法结构基本组成元素变量声明与初始化代码示例 类型推断函数与返回值代码示例输出 接口与结构体:组合而非继承错误处理:明确而不是异常小结…...

【Leetcode】 501. 二叉搜索树中的众数

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…...

怎样给Ubuntu系统安装vmware-tools

首先我要告诉你:Ubuntu无法安装vmware-tools,之所以这么些是因为我一开始也是这样认为的,vmware-tools是给Windows系统准备的我认为,毕竟Windows占有率远远高于Linux,这也可以理解。 那么怎么样实现Ubuntu虚拟机跟Wind…...

DDS信号发生器波形发生器VHDL

名称:DDS信号发生器波形发生器 软件:Quartus 语言:VHDL 要求: 在EDA平台中使用VHDL语言为工具,设计一个常见信号发生电路,要求: 1. 能够产生锯齿波,方波,三角波&…...

Python3操作SQLite3创建表主键自增长|CRUD基本操作

Win11查看安装的Python路径及安装的库 Python PEP8 代码规范常见问题及解决方案 Python3操作MySQL8.XX创建表|CRUD基本操作 Python3操作SQLite3创建表主键自增长|CRUD基本操作 anaconda3最新版安装|使用详情|Error: Please select a valid Python interpreter Python函数绘…...

B. Comparison String

题目&#xff1a; 样例&#xff1a; 输入 4 4 <<>> 4 >><< 5 >>>>> 7 <><><><输出 3 3 6 2 思路&#xff1a; 由题意&#xff0c;条件是 又因为要使用尽可能少的数字&#xff0c;这是一道贪心题&#xff0c;所以…...

python端口扫描

扫描所有端口 import socket, threading, os, timedef port_thread(ip, start, step, timeout):for port in range(start, start step):s socket.socket()s.settimeout(timeout)try:s.connect((ip, port))print(f"port[{port}] 可用")except Exception as e:# pri…...

国庆第二天

#include<th.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__",__LINE__);\perror(msg);\ }while(0)#define PORT 6666 #define IP "192.168.2.3"//键盘输入事件 int serverkeyboard(fd_set readfds) {char buf[128] "";int sndfd -…...

Java安全之servlet内存马分析

目录 前言 什么是中间键 了解jsp的本质 理解servlet运行机制 servlet的生命周期 Tomcat总体架构 查看Context 的源码 servlet内存马实现 参考 前言 php和jsp一句话马我想大家都知道&#xff0c;早先就听小伙伴说过一句话木马已经过时了&#xff0c;现在是内存马的天下…...

2023年第二十届中国研究生数学建模竞赛总结与分享

今天是国庆节&#xff0c;祝祖国繁荣富强。正好也学习不下去&#xff0c;就想着写写博客&#xff0c;总结一下自己在参加2023年第20届中国研究生数学建模比赛的一些感受。 目录 1.基本介绍 2.比赛分享 1.基本介绍 1. 竞赛时间&#xff1a;竞赛定于2023年9月22日8:00至2023年9…...

Web前端-Vue2+Vue3基础入门到实战项目-Day1(初始Vue, Vue指令, 小黑记事本)

Web前端-Vue2Vue3基础入门到实战项目-Day1 Vue快速上手创建一个Vue实例插值表达式Vue响应式特性 Vue指令指令初识 和 v-htmlv-show 和 v-ifv-else 和 v-else-ifv-on内联语句methods处理函数调用传参 v-bind案例 - 波仔的学习之旅v-forv-for基本使用案例 - 小黑的书架v-for的key…...

Sentinel学习(2)——sentinel的使用,引入依赖和配置 对消费者进行流控 对生产者进行熔断降级

前言 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 本篇博客介绍sentinel的使用&#x…...

springboot 简单配置mongodb多数据源

准备工作&#xff1a; 本地mongodb一个创建两个数据库 student 和 student-two 所需jar包&#xff1a; # springboot基于的版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>&l…...

西门子S7-1200使用LRCF通信库与安川机器人进行EthernetIP通信的具体方法示例

西门子S7-1200使用LRCF通信库与安川机器人进行EthernetIP通信的具体方法示例 准备条件: PLC:S7-1200 1214C DC/DC/DC 系统版本4.5及以上。 机器人控制柜:安川YRC1000。 软件:TIA V17 PLC做主站,机器人做从站。 具体方法可参考以下内容: 使用的库文件为西门子 1200系列…...

pytorch第一天(tensor数据和csv数据的预处理)lm老师版

tensor数据&#xff1a; import torch import numpyx torch.arange(12) print(x) print(x.shape) print(x.numel())X x.reshape(3, 4) print(X)zeros torch.zeros((2, 3, 4)) print(zeros)ones torch.ones((2,3,4)) print(ones)randon torch.randn(3,4) print(randon)a …...

CSP-J第二轮试题-2021年-1.2题

文章目录 参考&#xff1a;总结 [CSP-J 2021] 分糖果题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示答案1答案2-优化 [CSP-J 2021] 插入排序题目描述输入格式输出格式样例 #1样例输入 #1样…...

怒刷LeetCode的第16天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;迭代 方法二&#xff1a;模拟 方法三&#xff1a;循环模拟 方法四&#xff1a;传递 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;回溯 方法二&#xff1a;枚举优化 第三题 题目来源 题目…...

三周、1.81倍、百亿:中国AI的压制性时刻

调用量飙升、百亿美元涌入、智能体密集落地——过去七天&#xff0c;中国AI正在改写全球游戏规则。与此同时&#xff0c;内容创作者的“AI红利窗口”也正在打开。连续三周&#xff0c;中国AI压住美国5月18日&#xff0c;OpenRouter最新数据显示&#xff0c;5月11日至17日当周&a…...

AArch64 TRCCNTCTLR寄存器详解与调试技巧

1. AArch64 TRCCNTCTLR寄存器概述在AArch64架构中&#xff0c;TRCCNTCTLR&#xff08;Trace Counter Control Register&#xff09;是嵌入式跟踪扩展&#xff08;FEAT_ETE&#xff09;功能的重要组成部分。作为系统调试和性能分析的核心组件&#xff0c;它负责控制跟踪计数器的…...

k-Mode聚类算法原理与手写实现:专治分类数据的无监督学习利器

1. 项目概述&#xff1a;为什么k-Mode不是k-Means的“换皮版”&#xff0c;而是一把专治分类数据的手术刀你有没有遇到过这样的场景&#xff1a;手头有一批客户数据&#xff0c;字段全是“性别&#xff1a;男/女”、“城市&#xff1a;北京/上海/广州”、“会员等级&#xff1a…...

验证回文串【双指针、字符串】

力扣&#xff1a;https://leetcode.cn/problems/valid-palindrome/description/?envTypestudy-plan-v2&envIdtop-interview-150 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串…...

Android Method Tracing深度解析:Unity性能瓶颈跨层归因实战

1. 为什么Method Tracing不是“点一下就出报告”的银弹&#xff0c;而是Android性能诊断的听诊器在Unity项目上线前的最后两周&#xff0c;我接手了一个卡顿严重的AR应用——启动后3秒内帧率从60掉到22&#xff0c;用户滑动模型时UI直接冻结。团队里有人立刻打开Profiler&#…...

Python代码性能优化实战:从循环到并发的全方位加速技巧

1. 项目概述&#xff1a;为什么你的Python代码总是“慢半拍”&#xff1f;干了这么多年开发&#xff0c;我见过太多同事和学员写的Python代码&#xff0c;功能上没问题&#xff0c;逻辑也清晰&#xff0c;但就是跑起来“慢半拍”。尤其是在处理数据清洗、批量文件操作或者实现一…...

从CDP“3A”到千亿美元目标:联想集团的创新路径与AI原生转型

在全球产业链加速重构、人工智能技术范式快速迭代的背景下&#xff0c;中国企业的创新能力正成为各界关注的焦点。当被问及“哪些中国企业创新做得不错”时&#xff0c;有一家科技企业凭借其在绿色低碳、供应链协同以及混合式人工智能领域的系统性突破&#xff0c;给出了具有说…...

CANN 算子融合技术:Conv-BN-ReLU 与 MatMul-LayerNorm 等融合模式深度解析

CANN 算子融合技术&#xff1a;Conv-BN-ReLU 与 MatMul-LayerNorm 等融合模式深度解析算子融合是提升性能的关键手段。本文深入讲解昇腾支持的算子融合技术、实现原理和应用实践。一、融合技术概述 1.1 为什么要融合 原始: Conv → BN → ReLU → Conv → BN → ReLU融合前内存…...

写给前端的 CANN-acl:昇腾应用开发接口到底是啥?

写给前端的 CANN-acl&#xff1a;昇腾应用开发接口到底是啥&#xff1f; 之前有兄弟问我&#xff1a;“哥&#xff0c;我想直接调用昇腾的底层API&#xff0c;不用 PyTorch 这些框架&#xff0c;怎么搞&#xff1f;” 好问题。今天一次说清楚。 acl 是啥&#xff1f; acl Asce…...

保姆级教程:在Ubuntu上配置Frida环境,搞定Android App的签名与CRC校验

从零构建Ubuntu下的Android逆向工作流&#xff1a;Frida实战签名与CRC校验 当第一次尝试在Linux环境下搭建Android逆向工具链时&#xff0c;我花了整整三天时间解决各种依赖冲突和设备连接问题。这份经历让我意识到&#xff0c;一个完整的Ubuntu环境配置指南对逆向新手有多重要…...