postgresql使用pg_basebackup备份与恢复

    postgresql可以使用pg_dump,pg_restore等命令来进行备份与恢复,那种情况不用停止pgsql服务,只需要执行备份恢复命令即可。

    今天介绍的这种备份方式,类似于文件系统的备份与恢复,它需要使用pg_basebackup命令来进行备份,这个命令可以将pgsql的数据文件备份为两个压缩文件:base.tar pg_wal.tar。本别是数据文件和归档文件,恢复的时候,需要设置按照归档文件来恢复。

    这种恢复,需要先把备份的压缩文件替换当前的数据文件,然后修改postgresql.conf,因为这个配置文件在data文件夹中,所以只能是在把base.tar解压到数据库当前数据位置,也就是我们默认初始化指定的数据保存位置data文件夹中,才能修改配置,在配置好归档设置以后,可以启动pgsql服务,进行启动恢复。

    在恢复过程中,会拷贝归档文件,进行数据恢复。

    恢复成功,也就是数据库服务启动成功。这个时候我们访问数据库,它是作为归档状态存在的,所以只能读,不能写操作。

   为了恢复数据库写操作,我们需要在命令行下执行切换数据库状态的指令。切换成功之后,才可以进行读写操作。

    下面实际演示这些流程:

    1、准备数据

    2、数据备份

    数据备份使用命令pg_basebackup -D backup -Ft -Pv

    其中-D指定数据备份的位置。这里指定的是当前文件夹下的backup,也可以指定绝对路径。

    -F表示备份文件格式,这里t表示是tar压缩文件格式。

    -Pv表示显示备份过程。

    因为是本机数据库,所以这里省略了-U -h -p等数据库连接相关的设置。

    生成的备份文件:

 

    3、停止数据库服务

bin\pg_ctl stop

    4、清空当前数据目录

 

    5、解压备份文件到指定位置

    解压数据文件base.tar到当前数据目录data中,解压归档文件pg_wal.tar到一个指定位置,这里指定到d:\\tools\\pgsql\\archive目录。

    6、修改postgresql.conf配置文件,指定restore_command,recovery_target

    restore_command命令在linux下拷贝是cp命令,在windows下是copy命令,最后注意一下windows下的路径需要使用 \\ 来表示目录分隔符。

    这里的archive目录就是我们在前面第5步中解压归档文件pg_wal.tar 到的目录。

    restore_command,recovery_target两个配置在postgresql.conf配置文件中是注释掉的。这两个变量设置在pg12以后是合并到了postgresql.conf中,在老的版本中,需要新建recovery.conf并设置。

    为了配合恢复,我们需要在data目录中新建一个recovery.signal的空文件。 

    7、启动恢复

    恢复成功之后,可以验证数据是否恢复成功,但是这时候,只能读,不能写。

    这个时候数据库是归档状态,可以通过pg_controldata命令查看数据库簇状态:

    8、切换数据库状态

    执行pg_ctl promote命令即可。

    9、验证读写

     当数据库状态切换到正在运行中之后,数据库就不再是只读了。

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

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

相关文章

使用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)同时访问&…

Jenkins + Docker 一键自动化部署 Spring Boot 项目,步骤齐全,少走坑路!

点击关注公众号,Java干货及时送达 国内最强微服务框架,没有之一! 几乎覆盖 Spring Boot 所有操作! 本文章实现最简单全面的 Jenkinsdockerspringboot 一键自动部署项目,步骤齐全,少走坑路。 环境&#xff1…

MyBatis-Plus 可视化代码生成器来啦,让你的开发效率大大提速!!

点击关注公众号,Java干货及时送达 学习 Spring Cloud 微服务的正确姿势! 用上 ChatGPT 啦,强的离谱! 终于把 Spring Boot 3.0 写成书了! 前言 在基于Mybatis的开发模式中,很多开发者还会选择Mybatis-Plus来…