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

PostgreSQL配置主从备份(docker)

一、服务器规划

序号

IP

备注

1192.168.1.110主数据库
2192.168.1.120从数据库

二、服务器部署

2.1、主服务器部署(192.168.1.110)

1)、于/opt/postgresql目录下,编辑docker-compose.yml

version: "3"
services:postgres-master:image: pgrouting/pgrouting:12-3.1-3.1.3container_name: postgres12-slaveenvironment:POSTGRES_USER: postgresPOSTGRES_PASSWORD: 7Y6G#pg2789#Wsports:- 5432:5432volumes:- ./data:/var/lib/postgresql/data- /etc/localtime:/etc/localtime:ro#将外边时间直接挂载到容器内部,权限只读#    restart: always

2)、启动服务


cd /opt/postgresql
docker-compose up -d

3)、连接主数据库,创建主从复制(流复制)用户

执行创建SQL语句

CREATE ROLE replica login replication encrypted password '123456';

4)、修改./data/pg_hba.conf文件

1)允许远程登录host all all  192.168.1.120/24 md5
2)允许从数据库链接主数据库去拖wal日志数据host replication replica 192.168.1.120/32 md5
3)配置用户的访问权限在ipv4下加入host all all 192.168.1.120/24 md5
修改postgres.conf文件
1)允许所有地址监听listen_addresses='*'
2)开启归档模式archive_mode = on 
3)归档配置
%p 是被归档的redo文件的路径, 
%f 是被归档的redo文档的文件名  
%% 是百分号
archive_command ='cp -i %p /4T/%f </dev/null'
4)主从设置为热血模式,流复制必选wal_level=hot_standby
5)流复制允许连接进程max_wal_senders=5
6)pg_wal保留策略wal_keep_segments=64
7) 中断连接和表示到数据库的连接数wal_sender_timeout = 60smax_connections=1000

5)、重启主数据库服务


cd /opt/postgresql
docker-compose down
docker-compose up -d

2.2、从服务器部署(192.168.1.120)

1)、于/opt/postgresql目录下,编辑docker-compose.yml

version: "3"
services:postgres-slave:image: pgrouting/pgrouting:12-3.1-3.1.3container_name: postgres12-slaveenvironment:POSTGRES_USER: postgresPOSTGRES_PASSWORD: 7Y6G#pg2789#Wsports:- 5432:5432volumes:- ./data:/var/lib/postgresql/data- /etc/localtime:/etc/localtime:ro#将外边时间直接挂载到容器内部,权限只读#    restart: always

2)、启动服务


cd /opt/postgresql
docker-compose up -d

3)、进入到从库postgres的容器内配置流复制


docker exec -it postgres12-slave /bin/bash
#切换到postgres用户
su - postgres
#使用pg_basebackup命令备份主数据库中的数据
pg_basebackup -h 192.168.1.110 -p 5432 -U replica --password -X stream -Fp --progress -D /var/lib/postgresql/data/pgdata -R;

4)、修改postgres.conf配置

# 在备份的同时允许查询
hot_standby=on
# 流复制最大延迟 (可选)
max_standby_streaming_delay=30s
# 从向主报告状态的最大间隔时间 (可选)
wal_receiver_status_interval=10s
# 查询冲突时向主反馈 #默认参数,非主从配置相关参数,表示到数据库的连接数 (可选)
hot_standby_feedback=on
# 一般从库做主要的读服务时,设置值需要高于主
max_connections=1000

5)、停止从数据库,配置docker-compose.yml文件


cd /opt/postgresql
docker-compose down

于/opt/postgresql目录下,编辑docker-compose.yml

version: "3"
services:postgres-slave:image: pgrouting/pgrouting:12-3.1-3.1.3container_name: postgres12-slaveenvironment:POSTGRES_USER: postgresPOSTGRES_PASSWORD: 7Y6G#pg2789#Wsports:- 5432:5432volumes:#- ./data:/var/lib/postgresql/data- ./data/pgdata:/var/lib/postgresql/data- /etc/localtime:/etc/localtime:ro  #将外边时间直接挂载到容器内部,权限只读#    restart: always

三、验证主从是否成功

1、连接数据库执行如下SQL命令


select client_addr,sync_state from pg_stat_replication;

2、连接数据执行如下SQL命令

select pg_is_in_recovery();

相关文章:

PostgreSQL配置主从备份(docker)

一、服务器规划 序号 IP 备注 1192.168.1.110主数据库2192.168.1.120从数据库 二、服务器部署 2.1、主服务器部署&#xff08;192.168.1.110&#xff09; 1&#xff09;、于/opt/postgresql目录下&#xff0c;编辑docker-compose.yml version: "3" services:po…...

qt作业day4

//clock_exercise.cpp#include "clock_timer.h" #include "ui_clock_timer.h"//时间事件处理函数 void Clock_Timer::timerEvent(QTimerEvent *event) {if(event->timerId() time_id){sys_tm QDateTime :: currentDateTime(); // int year sy…...

js如何实现字符串反转?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用 split() 和 reverse() 方法⭐ 使用循环⭐ 使用递归⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专…...

Nmap 7.94 发布:新功能!

Nmap 的最新版本 7.94 在其 26 岁生日之际发布。 最重要的升级是在所有平台上将 Zenmap 和 Ndiff 从 Python 2 迁移到 Python 3。 这个新版本的 Nmap 7.94 进行了升级&#xff0c;进行了多项改进&#xff0c;修复了一些关键错误&#xff0c;并添加了新的 Npcap、操作系统指纹…...

【深入解析spring cloud gateway】08 Reactor 知识扫盲

一、响应式编程概述 1.1 背景知识 为了应对高并发服务器端开发场景&#xff0c;在2009 年&#xff0c;微软提出了一个更优雅地实现异步编程的方式——Reactive Programming&#xff0c;我们称之为响应式编程。随后&#xff0c;Netflix 和LightBend 公司提供了RxJava 和Akka S…...

常用ADB指令

ADB指令 1.查看版本 adb shell getprop|findstr fingerprint 2.查看应用包名 adb shell pm list packages 3.查看系统关键字 adb shell getprop|findstr oem/sn/user… 4.查看进程id adb shell ps -ef |grep appstore 5.启动服务 adb shell am startservice -n com.a…...

【HTML5高级第二篇】WebWorker多线程、EventSource事件推送、History历史操作

文章目录 一、多线程1.1 概述1.2 体会多线程1.3 多线程中数据传递和接收 二、事件推送2.1 概述2.2 onmessage 事件 三、history 一、多线程 1.1 概述 前端JS默认按照单线程去执行&#xff0c;一段时间内只能执行一件事情。举个栗子&#xff1a;比方说古代攻城游戏&#xff0c…...

CentOS云服务器部署配置

1. 安装Mysql 1.1.确保服务器系统处于最新状态 [rootlocalhost ~]# yum -y update如果显示内容中含有 [rootlocalhost ~]# Complete! 说明更新完成 1.2.下载MySql安装包 rootlocalhost ~]# rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm…...

深入解析Java中的数组复制:System.arraycopy、Arrays.copyOf和Arrays.copyOfRange

当涉及到在Java中处理数组时&#xff0c;有许多方法可供选择&#xff0c;其中一些包括System.arraycopy()、Arrays.copyOf()和Arrays.copyOfRange()。这些方法允许您在不同的数组之间复制数据&#xff0c;但它们之间有一些细微的差异。在本篇博客文章中&#xff0c;我们将深入探…...

libc和glibc有什么区别

libc&#xff08;C Library&#xff09;是一个常见的术语&#xff0c;指的是C语言的标准函数库&#xff0c;提供了许多函数和常量供C语言程序使用。在不同的操作系统中&#xff0c;libc可能是不同的&#xff0c;但是它们都实现了C语言的标准库函数。 glibc&#xff08;GNU C L…...

基于SSM的在线云音乐系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

构建高效的BFF(Backend for Frontend):优化前端与后端协作

面试题分享 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 史上最全文档AI绘画stab…...

喜报 | 实力亮相2023服贸会,擎创科技斩获领军人物奖创新案例奖

近日&#xff0c;由中华人民共和国商务部、北京市人民政府共同主办的中国&#xff08;北京&#xff09;国际服务贸易交易会&#xff08;简称服贸会)已圆满落幕。 本次会议中&#xff0c;发布了2023年度“数智影响力”征集活动获奖名单&#xff0c;擎创科技创始人兼CEO杨辰获企…...

科技革新自动驾驶:拓世AI智能助理携手跟您一起点亮未来之旅

科技改变生活&#xff0c;智能改变世界&#xff0c;近年来&#xff0c;随着科技的不断进步&#xff0c;政策和市场的赋能推动&#xff0c;自动驾驶已经成为当今社会最炙手可热的话题之一。从其中的技术发展趋势来看&#xff0c;我国自动驾驶模式正由单车智能向车路协同时代演进…...

【HCIE】01.IGP高级特性

高级特性&#xff1a;一条命令解决一个问题 OSPF快速收敛机制 发生故障重新计算拓扑的过程叫做收敛&#xff0c;设备现在本身就是PRC算法和I-SPF算法 PRC&#xff08;针对叶子节点&#xff0c;叶子代表路由&#xff09; 不需要命令配置&#xff0c;就是ospf的特性&#xff…...

知识大杂烩(uniapp)

首先声明&#xff1a;不敢保证都管用&#xff0c;这是我自己实践得来的。 box-shadow: 这段 CSS 样式代码用于创建一个阴影效果&#xff0c;它是通过 box-shadow 属性来实现的。让我解释一下这段代码的含义&#xff1a; - box-shadow: 这是 CSS 的属性&#xff0c;用于添加阴影…...

Jmeter压测监控体系搭建Docker+Influxdb+Grafana

章节目录&#xff1a; 一、背景介绍1.1 概述1.2 拓扑图 二、云服务器设置三、Docker3.1 概述3.2 搭建流程3.3 安装验证3.4 配置docker镜像加速3.5 取消sudo运行(可选操作) 四、InfluxDB4.1 镜像拉取4.2 运行数据库4.3 创建存储 jmeter 数据的库 五、Grafana5.1 镜像拉取5.2 关联…...

TDesign 点击高亮显示=》点击切换class类名

1. wx:for遍历数组 2. 在一行显示 2. 点击高亮...

容器编排学习(二)镜像制作和私有仓库介绍

一 Dockerfile 1 概述 commit的局限 很容易制作简单的镜像&#xff0c;但碰到复杂的情况就十分不方便例如碰到下面的情况需要设置默认的启动命令需要设置环境变量需要指定镜像开放某些特定的端口 Dockerfile就是解决这些问题的方法 Dockerfile是一种更强大的镜像制作方式…...

tcp记录

网络传输&#xff1a;大小端 Qt网络编程实现TCP通信 TCP/IP通讯与socket编程 Qt一步步搭建TcpServer1——封装QTcpServer&#xff0c;QTcpSocket qtcpserver官方文档 Python address already in use 服务器端的端口号和客户端的端口号没有关系 一般服务器是需要BIND指定端口号…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...