postgres数据备份与主从配置
备份PostgreSQL数据库
备份格式有几种选择:
bak:压缩二进制格式
sql:明文转储
tar: tarball
mydb=# \q
-bash-4.2$ pg
pgawk pg_dump pgrep
pg_basebackup pg_dumpall pg_restore# 备份所有的
-bash-4.2$ pg_dumpall > pg_backup.bak# 备份 mydb库的
-bash-4.2$ pg_dump mydb > mydb.bak
-bash-4.2$ ls
14 mydb.bak pg_backup.bak
-bash-4.2$ pwd
/var/lib/pgsql# 导出postgres库所有表
pg_dump -U postgres -f/tmp/postgres.sql postgres # 导出postgres库中 表test的数据
pg_dump -U postgres -f/tmp/postgres.sql -t test postgres# 导出postgres库 以tar形式压缩保存为postgres.tar -F 格式
pg_dump -U postgres -F t -f /tmp/postgres.tar postgres恢复数据库
# 恢复postgres.sql数据到postgres数据库,
psql -U postgres -f /tmp/postgres.sql postgres# 恢复postgres.tar数据到postgres数据库 psql 打不开tar文件
pg_restore -U postgres -d postgres /tmp/postgres.tar(su -postgres
pg_dump daname>dbname.bak
postgres 主从
清理历史文件
rm -rf /var/lib/pgsmaster
rm -rf /var/lib/pgsslave
docker rm -f pgsmaster
docker rm -f pgsslave
docker network create pg-network
docker run -d --network=pg-network --name pgsmaster -p 5500:5432 -e POSTGRES_PASSWORD=postgres -v /var/lib/pgsmaster:/var/lib/postgresql/data postgres:16.4# 先不做挂载
docker run -d --network=pg-network --name pgsslave -p 5433:5432 -e POSTGRES_PASSWORD=postgres postgres:16.4
查看 pg IP地址 配置主IP信息,运行读的IP
docker inspect pgsmaster|grep IPAddress
docker inspect pgsslave |grep IPAddresscat >>/var/lib/pgsmaster/postgresql.conf <<-'EOF'
primary_conninfo='host=172.19.0.2 port=5432 user=repl password=repl'
EOFcat >>/var/lib/pgsmaster/pg_hba.conf <<-'EOF'
host replication repl 172.19.0.2/32 md5
host replication repl 172.19.0.3/32 md5
EOF
master创建从用户
docker exec -it pgsmaster /bin/bash
psql -U postgres
set synchronous_commit =off;
create role repl login replication encrypted password 'repl';
\du
\qexit
docker restart pgsmaster
slave 备份文件并拷贝出容器
docker exec -it pgsslave /bin/bash#pg_basebackup 向主服务器的数据备份。dump大文件 从库直接加载
pg_basebackup -Fp --progress -D /home/opt/postgresql-16.0/data/ -R -h 172.19.0.2 -p 5432 -U repl --password
Password:
waiting for checkpoint
23136/23136 kB (100%), 1/1 tablespaceroot@99e541cc922a:/# ls /var/lib/postgresql/data/
base ...
root@99e541cc922a:/# exit[root@vm ~]# docker cp pgsslave:/home/opt/postgresql-16.0/data/ /var/lib/pgsslave
Successfully copied 40.6MB to /var/lib/pgsslave[root@vm ~]# ls /var/lib/pgsslave
... standby.signal 标识文件,[root@vm ~]# docker rm -f pgsslave
重写映射并启动slave
docker run -d --network=pg-network --name pgsslave -p 5433:5432 -e POSTGRES_PASSWORD=postgres -v /var/lib/pgsslave:/var/lib/postgresql/data postgres:16.4docker logs -f pgsslave
select * from pg_stat_replication; # 查看复制状态
查看从库同步信息
ceate table tbl1(id int, text varchar(10));
insert into tbl1 values (1, 'helloworld');
相关文章:
postgres数据备份与主从配置
备份PostgreSQL数据库 备份格式有几种选择: bak:压缩二进制格式 sql:明文转储 tar: tarball mydb# \q -bash-4.2$ pg pgawk pg_dump pgrep pg_basebackup pg_dumpall pg_restore# 备份所有的 -bash-4.2$ pg_dumpall &…...
【二分查找】力扣 275. H 指数 II
一、题目 二、思路 h 指数是高引用引用次数,而 citations 数组中存储的就是不同论文被引用的次数,并且是按照升序排列的。也就是说 h 指数将整个 citations 数组分成了两部分,左半部分是不够引用 h 次 的论文,右半部分论文的引用…...
使用uni-app进行开发前准备
使用uni-app进行开发,需要遵循一定的步骤和流程。以下是一个详细的指南,帮助你开始使用uni-app进行开发: 一、开发环境搭建 安装Node.js: 首先,从Node.js的官方网站(https://nodejs.org/)下载并…...
AI开发-深度学习框架-PyTorch-torchnlp
1 需求 Welcome to Pytorch-NLP’s documentation! — PyTorch-NLP 0.5.0 documentation 2 接口 3 示例 4 参考资料...
VBA数据库解决方案第十七讲:Recordset对象记录位置的定位方法
《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...
Ubuntu 操作系统
一、简介 Ubuntu 是一个基于 Linux 的开源操作系统,它由 Canonical Ltd. 公司维护和资助。Ubuntu 以其易用性、强大的社区支持和定期的安全更新而闻名,一个一桌面应用为主的操作系统。 二、用户使用 1、常规用户的登陆方式 在登录时一般使用普通用户&…...
Maven 内置绑定到底怎么回事?
Maven是一个很好的项目管理工具. 一方面有着众多脚手架,另一方面在依赖管理方面 帮助使用者做了很多准备工作. 随着Maven的使用和学习的深入,大家会不仅有一些问题。 比较浅显的一个就是, 日常我们的Maven 下载安装好以后,在IDE 里…...
如何把Qt exe文件发送给其他人使用
如何把Qt exe文件发送给其他人使用 1、先把 Debug改成Release2、重新构建项目3、运行项目4、找到release文件夹5、新建文件夹,存放exe文件6、打开qt控制台串口7、下载各种文件8、压缩,发送压缩包给别人 1、先把 Debug改成Release 2、重新构建项目 3、运行…...
【汇编语言】call 和 ret 指令(三) —— 深度解析汇编语言中的批量数据传递与寄存器冲突
文章目录 前言1. 批量数据的传递1.1 存在的问题1.2 如何解决这个问题1.3 示例演示1.3.1 问题说明1.3.2 程序实现 2. 寄存器冲突问题的引入2.1 问题引入2.2 分析与解决问题2.2.1 字符串定义方式2.2.2 分析子程序功能2.2.3 得到子程序代码 2.3 子程序的应用2.3.1 示例12.3.2 示例…...
定义函数合并字符串—超详细讲解
【问题描述】 编写一个函数void str_bin(char str1[ ], char str2[ ]), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序),将str2合并到字符串str1中,要求合并后的字符串仍是有序的,允许字符重…...
实现 vue3 正整数输入框组件
1.实现代码 components/InputInteger.vue <!-- 正整数输入框 --> <template><el-input v-model"_value" input"onInput" maxlength"9" clearable /> </template><script lang"ts" setup> import { ref …...
Leetcode - 周赛425
目录 一,3364. 最小正和子数组 二, 3365. 重排子字符串以形成目标字符串 三,3366. 最小数组和 四,3367. 移除边之后的权重最大和 一,3364. 最小正和子数组 本题可以直接暴力枚举,代码如下: …...
c++(斗罗大陆2)
我把魂力等级更新到了31级 #include<iostream> #include<conio.h> #include<windows.h> #include<stdlib.h> #include<stdio.h> #include<time.h> #include<string.h> using namespace std; int qs10; int xthl0;//先…...
redis常见数据类型
Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理,支持多种数据类型。 一、数据类型介绍 String(字符串) Redis中最基本的数据类型。可以存储任何类型的数据,包括字符串、数字和二进制…...
MySQL - 性能优化
使用 Explain 进行分析 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。 比较重要的字段有: select_type : 查询类型,有简单查询、联合查询、子查询等 key : 使用的索引 rows : 扫描的行数 type :…...
Linux进程概念-详细版(一)
目录 进程概念 描述进程-PCB task_struct-PCB的一种 task_struct内容分类 查看进程 通过系统目录查看 通过ps命令查看 通过系统调用获取进程的PID和PPID 通过系统调用创建进程 fork的认识 使用if进行分流 最后的总结 Linux进程状态 运行状态-R 浅度睡眠状态-S 深度睡…...
K8S网络系列--Flannel网络下UDP、VXLAN模式的通信流程机制分析
文章目录 前言一、了解overlay、underlay容器网络二、网络通信1.分类2.网络虚拟设备对2.1、什么是网络虚拟设备对veth pair?2.2、如何查看容器的网卡与主机的哪个veth设备对是成对的关系? 3、vxlan和vtep3.1、vtep3.2、vxlan相关概念 三、Flannel网络模式剖析0、flannel的作用…...
ThreadLocal的设计思考
问题的提出 在Java多线程中,共享变量的读写非常容易出现不可预测的行为,因此对共享变量的访问控制非常重要。因此在多线程编程时,为了保证线程安全,需要进行额外的同步措施。比如典型的操作就是加锁。除了加锁外,另一…...
shell脚本练习(2)
1. 使用case实现成绩优良差的判断 2. for创建20用户 用户前缀由用户输入 用户初始密码由用户输入 例如:test01,test10 3. for ping测试指网段的主机 网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 --- 192.168.2.2…...
通讯专题4.1——CAN通信之计算机网络与现场总线
从通讯专题4开始,来学习CAN总线的内容。 为了更好的学习CAN,先从计算机网络与现场总线开始了解。 1 计算机网络体系的结构 在我们生活当中,有许多的网络,如交通网(铁路、公路等)、通信网(电信、…...
春晚具身机器人惊艳亮相,具身智能行业即将迎来黄金时代?高薪岗位火热招聘,这份求职指南你值得拥有!
今年春晚,具身又迎来了高光时刻。不少朋友看完后找我调侃,这几家上春晚的公司估值又要拉升了。其中,宇树的武术表演实在惊叹,双截棍、后空翻,把全球机器人运控能力拉升了一个档次,unitree可以说是断层领先。…...
QMCDecode终极指南:3分钟解锁QQ音乐加密文件,让音乐真正属于你!
QMCDecode终极指南:3分钟解锁QQ音乐加密文件,让音乐真正属于你! 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到…...
git不跟踪文件夹
git不跟踪文件夹假设你有一个名为build的文件夹,你想从Git跟踪中移除它: 1.移除跟踪: bash git rm -r --cached build/ 2.提交更改: bash git commit -m “Remove logs folder from tracking” 3确保未来不被跟踪: bas…...
ThreadX信号量五大使用误区盘点:你的RTOS同步机制真的安全吗?
ThreadX信号量五大使用误区盘点:你的RTOS同步机制真的安全吗? 在嵌入式实时系统开发中,信号量作为最基础的同步机制之一,其重要性不言而喻。ThreadX作为一款商业级RTOS,其信号量实现看似简单,却暗藏诸多陷阱…...
ADaFuSE Adaptive Diffusion-generated Image and Text Fusion for Interactive Text-to-Image Retrieval
ADaFuSE: Adaptive Diffusion-generated Image and Text Fusion for Interactive Text-to-Image Retrieval Authors: Zhuocheng Zhang, Xingwu Zhang, Kangheng Liang, Guanxuan Li, Richard Mccreadie, Zijun Long Deep-Dive Summary: ADaFuSE: 用于交互式文本到图像检索的…...
别再混淆了!用Arduino实操演示ROM、RAM和FLASH的区别(附内存监控技巧)
别再混淆了!用Arduino实操演示ROM、RAM和FLASH的区别(附内存监控技巧) 在嵌入式开发领域,存储器类型的选择直接影响着程序性能和系统稳定性。许多初学者在面对ROM、RAM和FLASH时常常感到困惑——它们看起来都是"存储数据&quo…...
从零开始:GitLab 自托管部署与 DevOps 环境搭建指南
1. 为什么选择自托管 GitLab? 对于中小型技术团队来说,代码管理是研发流程的核心命脉。我见过太多团队在初期使用第三方托管服务,随着业务增长却面临三大痛点:代码安全焦虑、定制化需求无法满足、CI/CD 集成受限。自托管 GitLab 就…...
从LeGO-LOAM到LIO-SAM:手把手教你为速腾聚创雷达添加IMU和GPS因子图优化
从LeGO-LOAM到LIO-SAM:多传感器融合SLAM的工程实践与深度解析 当你在户外空旷场地测试LeGO-LOAM时,是否遇到过点云特征不足导致的轨迹漂移?当机器人长时间运行后,是否发现建图结果出现明显的累积误差?这些问题正是LIO-…...
若依Tab页覆盖问题终极方案:router.js配置避坑指南
若依Tab页覆盖问题终极方案:router.js配置避坑指南 在若依框架的实际开发中,许多初级开发者都会遇到一个令人头疼的问题:当多次打开同一个组件时,Tab页会被强制覆盖,导致之前的工作状态丢失。这个问题看似简单…...
PotPlayer 2025终极画质方案:LAV解码、MadVR渲染与XySubFilter字幕实战
1. 为什么需要这套组合方案? 第一次接触高清视频播放的朋友可能会疑惑:为什么PotPlayer本身已经很强大了,还要折腾这些第三方插件?这就像给一辆跑车换上专业级轮胎和悬挂系统——基础功能都能实现,但只有经过深度调校才…...
