利用pg_rman进行备份与恢复操作

文章目录

  • pg_rman简介
  • 一、安装配置pg_rman
  • 二、创建表与用户
  • 三、备份与恢复


pg_rman简介

pg_rman 是 PostgreSQL 的在线备份和恢复工具。类似oracle 的 rman
pg_rman 项目的目标是提供一种与 pg_dump 一样简单的在线备份和 PITR 方法。此外,它还为每个数据库集群维护一个备份目录。用户可以使用一个命令维护旧备份,包括存档日志。
pg_rman当前最新版本1.3.16支持最新的PostgreSQL 16到11,支持本机(standby/master)在线备份,不支持远程备份,不支持加密存储,支持PITR恢复。


一、安装配置pg_rman

PostgreSQL16安装步骤:http://t.csdnimg.cn/GSA7S

下载源码文件

wget -O pg_rman-1.3.16.tar.gz https://github.com/ossc-db/pg_rman/archive/refs/tags/V1.3.16.tar.gz

解压编译

tar zxvf pg_rman-1.3.16.tar.gz
cd pg_rman-1.3.16
which pg_config
make USE_PGXS=1 PG_CONFIG=/opt/pgsql/postgresql/bin/pg_config
make USE_PGXS=1 PG_CONFIG=/opt/pgsql/postgresql/bin/pg_config install

在这里插入图片描述

查看pg_rman版本

/opt/pgsql/postgresql/bin/pg_rman --version

在这里插入图片描述

创建归档目录并赋权

mkdir -p /opt/pgsql/archive_logs
sudo chown -R postgres:postgres /opt/pgsql/archive_logs
sudo chmod -R 700 /opt/pgsql/archive_logs

创建备份目录并赋权

mkdir -p /home/postgres/pgrman
sudo chown -R postgres:postgres /home/postgres/pgrman
sudo chmod -R 700 /home/postgres/pgrman

文件赋权

sudo chown -R postgres:postgres /opt/pgsql/postgresql/data
sudo chmod -R 700 /opt/pgsql/postgresql/data

检查postgresql.conf文件的日志及归档参数设置

sudo find / -name "postgresql.conf"
vim /opt/pgsql/postgresql/data/postgresql.conf

请添加图片描述
请添加图片描述
请添加图片描述

pg_rman初始化

pg_rman init --pgdata=/opt/pgsql/postgresql/data --backup-path=/home/postgres/pgrman

二、创建表与用户

目标:创建一个test数据库,建个用户t,在t下建个test 表,并随意插入几条记录。

连接到PostgreSQL数据库

sudo -i -u postgres
psql

创建test数据库

CREATE DATABASE test;

创建用户t

CREATE USER t WITH PASSWORD '123456';

赋予用户t对test数据库的所有权限

GRANT ALL PRIVILEGES ON DATABASE test TO t;

连接到test数据库

\c test

创建test表

CREATE TABLE test (id SERIAL PRIMARY KEY,name VARCHAR(50),age INT
);

向test插入数据

INSERT INTO test (name, age) VALUES ('张三', 30);
INSERT INTO test (name, age) VALUES ('李四', 25);
INSERT INTO test (name, age) VALUES ('王五', 35);

在这里插入图片描述

三、备份与恢复

目标:利用pg_rman 做备份和恢复操作:对库做备份后,可以删掉test表,利用备份做恢复

进行基础全备

pg_rman backup --port=5432 \
--backup-mode=full \
--pgdata=/opt/pgsql/postgresql/data \
--backup-path=/home/postgres/pgrman \
--with-serverlogpg_rman validate --backup-path=/home/postgres/pgrman

在这里插入图片描述

添加数据

psql -d test
INSERT INTO test (name, age) VALUES ('七七', 88);

在这里插入图片描述

归档备份

pg_rman backup --port=5432 \
--backup-mode=archive \
--pgdata=/opt/pgsql/postgresql/data \
--backup-path=/home/postgres/pgrman \
--keep-arclog-files=1000 \
--keep-arclog-days=30pg_rman validate --backup-path=/home/postgres/pgrman

在这里插入图片描述

查看备份集

pg_rman show -B /home/postgres/pgrman

在这里插入图片描述

先删除一条数据

psql -d test
DELETE FROM test WHERE id = 4;

停本地数据库服务:

pg_ctl stop -D /opt/pgsql/postgresql/data

恢复

pg_rman restore \
--pgdata=/opt/pgsql/postgresql/data \
--backup-path=/home/postgres/pgrman \
--recovery-target-time="2024-07-05 10:25:36" \
--progress

启动PostgreSQL服务

pg_ctl start -D /opt/pgsql/postgresql/data

归档备份恢复验证

psql -d test
SELECT * FROM test;

在这里插入图片描述
再次添加一条数据

INSERT INTO test (name, age) VALUES ('yiyi', 11);

在这里插入图片描述
进行增量备份

pg_rman backup --port=5432 \
--backup-mode=incremental \
--pgdata=/opt/pgsql/postgresql/data \
--backup-path=/home/postgres/pgrman \
--keep-data-generations=3 \
--keep-data-days=7pg_rman validate --backup-path=/home/postgres/pgrman

查看备份集

pg_rman show -B /home/postgres/pgrman

在这里插入图片描述
添加一个条数据

INSERT INTO test (name, age) VALUES ('yiyi', 11);

在这里插入图片描述
停本地数据库服务:

pg_ctl stop -D /opt/pgsql/postgresql/data

恢复

pg_rman restore \
--pgdata=/opt/pgsql/postgresql/data \
--backup-path=/home/postgres/pgrman \
--recovery-target-time="2024-07-05 12:50:21" \
--progress

启动PostgreSQL服务

pg_ctl start -D /opt/pgsql/postgresql/data

增量备份恢复验证

psql -d test
SELECT * FROM test;

在这里插入图片描述

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

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

相关文章

Day05-01-jenkins进阶

Day05-01-jenkins进阶 10. 案例07: 理解 案例06基于ans实现10.1 整体流程10.2 把shell改为Ansible剧本10.3 jk调用ansible全流程10.4 书写剧本 11. Jenkins进阶11.1 jenkins分布式1)概述2)案例08:拆分docker功能3)创建任务并绑定到…

【刷题笔记(编程题)05】另类加法、走方格的方案数、井字棋、密码强度等级

1. 另类加法 给定两个int A和B。编写一个函数返回AB的值,但不得使用或其他算数运算符。 测试样例: 1,2 返回:3 示例 1 输入 输出 思路1: 二进制0101和1101的相加 0 1 0 1 1 1 0 1 其实就是 不带进位的结果1000 和进位产生的1010相加 无进位加…

ssm校园志愿服务信息系统-计算机毕业设计源码97697

摘 要 随着社会的进步和信息技术的发展,越来越多的学校开始重视志愿服务工作,通过组织各种志愿服务活动,让学生更好地了解社会、服务社会。然而,在实际操作中,志愿服务的组织和管理面临着诸多问题,如志愿者…

dledger原理源码分析系列(一)-架构,核心组件和rpc组件

简介 dledger是openmessaging的一个组件, raft算法实现,用于分布式日志,本系列分析dledger如何实现raft概念,以及dledger在rocketmq的应用 本系列使用dledger v0.40 本文分析dledger的架构,核心组件;rpc组…

【pytorch16】MLP反向传播

链式法则回顾 多输出感知机的推导公式回顾 只与w相关的输出节点和输入节点有关 多层多输入感知机 扩展为多层感知机的话,意味着还有一些层(理解为隐藏层σ函数),暂且设置为 x j x_{j} xj​层 对于 x j x_{j} xj​层如果把前面的…

迅捷PDF编辑器合并PDF

迅捷PDF编辑器是一款专业的PDF编辑软件,不仅支持任意添加文本,而且可以任意编辑PDF原有内容,软件上方的工具栏中还有丰富的PDF标注、编辑功能,包括高亮、删除线、下划线这些基础的,还有规则或不规则框选、箭头、便利贴…

【护眼小知识】护眼台灯真的护眼吗?防近视台灯有效果吗?

当前,近视问题在人群中愈发普遍,据2024年的统计数据显示,我国儿童青少年的总体近视率已高达52.7%。并且近视背后潜藏着诸多眼部并发症的风险,例如视网膜脱离、白内障以及开角型青光眼等,严重的情况甚至可能引发失明。为…

PMP--知识卡片--波士顿矩阵

文章目录 记忆黑话概念作用图示 记忆 一说到波士顿就联想到波士顿龙虾,所以波士顿矩阵跟动物有关,狗,牛。 黑话 你公司的现金牛业务,正在逐渐变成瘦狗,应尽快采取收割策略;问题业务的储备太少&#xff0…

护眼热点:台灯护眼是真的吗?一起来看台灯的功能作用有哪些

如今近视问题日益严峻,尤为引人瞩目的是,高度近视学生群体占比已逼近10%的警戒线,且这一比例伴随着学龄的增长而悄然攀升——从幼儿园6岁孩童中那令人忧虑的1.5%,到高中阶段惊人的17.6%,每一组数据都敲响了保护儿童视力…

【Linux】静态库的制作和使用详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

代码随想录算法训练营第71天:路径算法[1]

代码随想录算法训练营第71天:路径算法 ‍ bellman_ford之单源有限最短路 卡码网:96. 城市间货物运输 III(opens new window) 【题目描述】 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市&#xff0c…

【CT】LeetCode手撕—4. 寻找两个正序数组的中位数

目录 题目1- 思路2- 实现⭐4. 寻找两个正序数组的中位数——题解思路 3- ACM 实现 题目 原题连接:4. 寻找两个正序数组的中位数 1- 思路 思路 将寻找中位数 ——> 寻找两个合并数组的第 K 大 (K代表中位数) 实现 ① 遍历两个数组 &am…

企业级监控系统Zabbix

文章目录 Zabbix介绍Zabbix架构Zabbix serverZabbix agentZabbix proxy Zabbix Server的安装Zabbix Agent的安装监控主机流程zabbix_get自定义模板和监控项实战用户登录数监控1.指定监控项命令2.重启Agent服务3.在Server上创建监控项4.测试监控项5.查看监控项图形 触发器定义触…

外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——4.预后相关外泌体基因确定单因素cox回归(2)

内容如下: 1.外泌体和肝癌TCGA数据下载 2.数据格式整理 3.差异表达基因筛选 4.预后相关外泌体基因确定 5.拷贝数变异及突变图谱 6.外泌体基因功能注释 7.LASSO回归筛选外泌体预后模型 8.预后模型验证 9.预后模型鲁棒性分析 10.独立预后因素分析及与临床的…

香橙派 AIpro 根据心情生成专属音乐

香橙派 AIpro 根据心情生成专属音乐 一、OrangePi AI pro 开发版参数介绍1.1 接口简介1.2 OrangePi AI pro 的Linux系统功能适配情况1.3 开发板开机1.4 远程连接到 OrangePi AIpro 二、开发环境搭建2.1 创建环境、代码部署文件夹2.2 安装 miniconda2.3 为 miniconda 更新国内源…

生态系统NPP及碳源、碳汇模拟技术教程

原文链接:生态系统NPP及碳源、碳汇模拟技术教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608293&idx3&sn2604c5c4e061b4f15bb8aa81cf6dadd1&chksmfa826602cdf5ef145c4d170bed2e803cd71266626d6a6818c167e8af0da93557c1288da21a71&a…

【综合能源】计及碳捕集电厂低碳特性及需求响应的综合能源系统多时间尺度调度模型

目录 1 主要内容 2 部分程序 3 实现效果 4 下载链接 1 主要内容 本程序是对《计及碳捕集电厂低碳特性的含风电电力系统源-荷多时间尺度调度方法》方法复现,非完全复现,只做了日前日内部分,并在上述基础上改进升级为电热综合电源微网系统&…

vue+openlayers之几何图形交互绘制基础与实践

文章目录 1.实现效果2.实现步骤3.示例页面代码3.基本几何图形绘制的关键代码 1.实现效果 绘制点、线、多边形、圆、正方形、长方形 2.实现步骤 引用openlayers开发库。加载天地图wmts瓦片地图。在页面上添加几何图形绘制的功能按钮,使用下拉列表(sel…

基于JavaScript、puppeteer的爬虫

前期准备: npm puppeteer import puppeteer from puppeteer; puppeteer文档 第一步:启动浏览器,跳转到需要爬取的页面 const browser await puppeteer.launch({ headless: false });const page await browser.newPage();await page.goto(url, { w…

【目标检测实验系列】YOLOv5模型改进:引入轻量化多维动态卷积ODConv,减少计算量的同时保持精度稳定或略微上涨!(内含源代码,超详细改进代码流程)

1. 文章主要内容 本篇博客主要涉及轻量化多维动态卷积ODConv,融合到YOLOv5模型中,减少计算量的同时保持精度稳定或略微上涨。(通读本篇博客需要7分钟左右的时间)。 2. 介绍 ODconv沿着空间、输入通道、输出通道以及卷积核空间的核…