PostgreSQL的pg_basebackup备份恢复详解

  92e51f8da82eb53c00517e0d4c29f522.png

备份

pg_basebackup -D /tmp/pg_backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R
  • -D 空文件,没有该目录会自动创建

  • F  格式话

  • t 打包为tar包

  • Pv 显示备份的详细过程

  • -u 用户

  • -p 端口

备份报错:

a34c911707b878e4fb033b38604144c2.png

在配置文件pg_hba.conf增加一行:

4cb68641c87f07d915a3285bf2b42fc1.png

备份流程:

de0e8ff725ce57ad0d2c6435adc9eab7.png

pg_basebackup: initiating base backup, waiting for checkpoint to complete   #开始基础备份,等待检查点完成
pg_basebackup: checkpoint completed                                         #已完成检查点
pg_basebackup: write-ahead log start point: 0/2000028 on timeline 1         #预写日志起始于时间点: 0/2000028, 基于时间轴1
pg_basebackup: starting background WAL receiver                             #启动后台 WAL 接收进程
pg_basebackup: created temporary replication slot "pg_basebackup_24583"     #已创建临时复制槽"pg_basebackup_24583"
24598/24598 kB (100%), 1/1 tablespace                                                    
pg_basebackup: write-ahead log end point: 0/2000138                         #预写日志结束点: 0/2000138
pg_basebackup: waiting for background process to finish streaming ...       #等待后台进程结束流操作...
pg_basebackup: syncing data to disk ...                                     #同步数据到磁盘
pg_basebackup: base backup completed                                        #基础备份已完成

备份出来的结果:

88a01a7e023147e9ed16ba4a61e6b7f4.png

恢复

[root@VM-0-9-centos data]# rm -rf /pgdata/12/data[root@VM-0-9-centos data]# rm -rf /pgdata/12/archtar -xvf base.tar -C /pgdata/12/datatar -xvf pg_wal.tar -C /pgdata/12/arch

vi postgresql.auto.conf 追加:

restore_command = 'cp /pgdata/12/arch/%f %p'
recovery_target = 'immediate'
touch /pgdata/12/recovery.signal

恢复成功:

976715c93ebf9b17131508c3bf0e8d46.png

注意:data目录需要有700权限。

61c1e0023d53ba2459e6477473edf03a.png

需要进行操作:

select pg_wal_replay_resume();

恢复到某个时刻

假设每天凌晨有一次全备,某天中午14点误删数据,如何恢复?

恢复原理:

全备+归档+在线redo

模拟测试:

周一数据:

7fad68a79e29e590f62ac5d2375b559c.png

全备:

b883e69c238d51560a636cbd490e21ba.png

周二数据:

9dcf5250dbcaa8f29a96022f66e981d1.png

此时14点,误删了库:

bd3e84cde3417dbb965c64a48bcf5fb2.png

切一下归档:

383494c001991ed2a4debcfb07d16065.png

fdbe5d1dc6558ab98f907320a62c7fb9.png

d785bdc672f19122f8e997ac9598a14d.png

关库:

pg_ctl -D /pgdata/12/data stop -mi

删除数据:

rm -rf /pgdata/12/data/*

将备份解压到数据目录:

tar -xvf base.tar -C /pgdata/12/data

使用pg_waldump查看需要恢复到哪个事务之前。

恢复到502之前:

f488cb1a571789a16c6a86a245243cba.png

编辑配置文件:

postgresql.auto.conf追加:

restore_command = 'cp /pgdata/12/arch/%f %p'recovery_target_xid='501'

启动数据库:

pg_ctl -D /pgdata/12/data -l logfile start

将恢复停止:

select pg_wal_replay_resume();

恢复成功:

eea303c15b944b57ded918e7e0e2c0dd.png


墨天轮原文链接:https://www.modb.pro/db/193193?sjhy复制链接至浏览器或点击文末阅读原文查看)

关于作者

陈家睿,云和恩墨MySQL技术顾问,拥有MySQL OCP、PGCE、OBCA、SCDP证书,长期服务于电信行业。现负责公司MySQL数据库、分布式数据库运维方面的技术工作;热衷于运维故障处理、备份恢复、升级迁移、性能优化的学习与分享。

END

推荐阅读:331页!2021年度数据库技术年刊

推荐下载:2021数据技术嘉年华视频回放及PPT下载


2021数据技术嘉年华50余个PPT下载、视频回放已上传墨天轮平台,可在“数据和云”公众号回复关键词“2021DTC”获得!

你知道吗?我们的视频号里已经发布了很多精彩的内容,快去看看吧!↓↓↓

点击下图查看更多 ↓

8254ad695980f67c8c81090c0acda5ef.png

8c582f04fc81e9637e28592b4eb49c77.png

9c9e09c4cfba29d9ab9474f796882c51.png

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

  点个“在看” 

你的喜欢会被看到❤

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pg 备份恢复(三)—— 详解完整恢复及基于时间点的恢复

一、 恢复配置详解 1. 归档恢复配置 主库 postgresql.conf archive_mode:是否开启归档,若要用归档方式搭建从库则必须开启archive_command:归档命令,通常是cparchive_timeout:在指定秒数后强制切换一个wal文件&…

postgresql使用pg_basebackup备份与恢复

postgresql可以使用pg_dump,pg_restore等命令来进行备份与恢复,那种情况不用停止pgsql服务,只需要执行备份恢复命令即可。 今天介绍的这种备份方式,类似于文件系统的备份与恢复,它需要使用pg_basebackup命令来进行备份&#xff0c…

使用pgAdmin4备份恢复(爬坑)

使用pgAdmin4备份恢复(爬坑) 1 通过Windows的pg客户端安装后,将会默认安装pgAdmin4 2 开始菜单搜索:pgAdmin4 打开 3 在Windows Server上,可能会出现: pgAdmin4被默认的IE浏览器打开,且IE浏览…

物联网如何为智慧城市提供动力

智慧城市可以创造一个基础设施顺畅、效率提升的乌托邦,改善城市地区的生活质量,促进当地经济发展。 其影响意义重大,预计到 2024 年智慧城市基础设施的收入将超过 1000 亿美元。 从改善公共交通到解决犯罪问题和提高能源效率——应有尽有&am…

爱的魔力转圈圈

题目链接: https://nuoyanli.com/contest/19/problem/B 题面: 题意:给定r和R,求最小的R数量在r外面围一圈包围住r球 思路: 首先:得知道相切的时候数量最小 其次:我们只需要算每一个R最大能占360的多少…

Discord一直连不上,转圈圈打不开——解决办法

首先更新下你的梯子服务器订阅,如果出现端口1080被占用的错误,则很有可能可以通过以下方法解决该问题。【如果不可以,可以先卸载掉你的discord软件再来一遍】 查看你的1080端口被哪个程序占用了? 1. windr打开命令窗口 2. cd …

win10状态栏一直转圈圈(重装系统后出问题)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、方法二、步骤总结 前言 记录一下个人经历: 昨天在给同学重装系统,重装好后出现了桌面操作无问题,但状态栏出现了假死现…

新建springboot项目一直转圈圈

哎,可能是我好久没有创建过后端springboot项目了,一直再搞前端,今天新建项目的时候就死活一直转圈圈,我一直以为网络不好,从头到尾换了三次网络,idea关了开,开了关,看还不行电脑都重启了&#x…

Qt+百度API实现人脸对比寻找明星脸

一、要求 1、使用百度人脸识别库 2、识别对比图片,获取图片相似度 3、显示最相似的明星照片、显示本人照片 4、调用摄像头拍照、比对查找最相似的明星脸 5、录入明星照片、查看照片列表、修改、删除照片 二、实现方式 2.1百度API封装 1、获取Token 鉴权认证参考…

根据姓名判断性别-人工智能

本帖训练一个可以根据姓名判断性别的CNN模型;我使用自己爬取的35万中文姓名进行训练。 使用同样的数据集还可以训练起名字模型,参看: TensorFlow练习7: 基于RNN生成古诗词https://github.com/tensorflow/models/tree/master/namignizerTensor…

一个很强大的人脸识别库face_recognition

官方网址:https://github.com/ageitgey/face_recognition 在图片中查找面孔: import face_recognition image face_recognition.load_image_file("your_file.jpg") face_locations face_recognition.face_locations(image) 查找和操作图片中…

人脸性别识别与表情识别代码——基于python深度学习的人脸属性识别

最近又到了毕业设计开题阶段了,想起当年毕业的时候因为不懂深度学习,做了很多功课,翻阅论文、Github,查找各类资源网站去学习,最后在公开资源的基础上调试了无数次,成功实现了基于深度学习的人脸属性识别课…

Java使用百度AI实现识别图片文字信息、身份证信息

百度AI识别API http://ai.baidu.com/docs#/OCR-API/top 这个官网里有丰富的识别示例文档、本文以识别身份证信息作为例子讲解 1、首先登录自己的 “百度智能云-管理中心” 创建应用获取app账号密码等信息 网址:https://console.bce.baidu.com 找到 “人工智能-文字…

Python实现AI图像识别-身份证识别

图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率 需求分析 身份证识别主要是把一张身份证照片上面的文字信息进行提取,不用再使用人工去手动抄写了,下面给大家说的这个身份识别主要是使用pythonflask华为云OCR进行实现的。 …

QT对接百度云实现人脸注册和识别

文章目录 目录 一.UI界面设计 1.获取Access Token 二 http协议头构造 三.对接百度云人脸注册和识别 四.json数据处理 五,数据----->UI界面 六,效果 ​编辑 总结: 一.UI界面设计 左上lineedit是处理后的解析的json数据 下方的linee…

基于MobileNetv3实现人脸面部表情识别

前言 大家好,我是阿光。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPy…

Qt+百度AI实现人脸识别之人脸检测

文章目录 简单需求Demo运行结果百度AI人脸识别接入为什么使用百度AI接口接入步骤如何获取Access Token Qt软件开发人脸检测Qt编程步骤知识点网络编程get、put、post请求方式的区别简述POST 提交数据方式如何对图片进行BASE64编码JSON数据解析 核心代码数据上传请求反馈数据解析…

眼见不为“实”,人们更信任人工智能合成的假脸

常言道,耳听为虚,眼见为实。但是现在随着人工智能技术的发展,眼见可不一定为实。而造成这一结果的全都是因为深度伪造技术,简称深伪技术或者深度伪造。是Deep Learing(深度学习)和Fake(伪造&…

LiveData数据倒灌?你真的用对了吗?源码解析

文章目录 livedata/lifecycleandroidx-lifecycle基本使用uml-关键角色关系观察者模式关键源码分析 livedata基本使用源码分析还是从observe开始livedata变化通知观察者 viewmodel源码分析 FAQlifecycle用到的设计模式lifecycle是如何监听aty生命周期的一些废弃和原因为什么废弃…

Spring Boot 优雅实现多租户架构,so easy~!

点击关注公众号,Java干货及时送达 国内最强微服务框架,没有之一! 几乎覆盖 Spring Boot 所有操作! 一、概述 1.什么是多租户架构? 多租户架构是指在一个应用中支持多个租户(Tenant)同时访问&…