利用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-serverlog

pg_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=30

pg_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=7

pg_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.mfbz.cn/a/773974.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AIGC时代,“人”的核心价值在何处?

随着科技的浪潮汹涌向前,人工智能生成内容(AIGC)已悄然渗透至我们生活的每一个角落,从创意设计到信息传播,其影响力与变革力愈发显著。在这一由算法驱动的新纪元里,人类社会运作模式、学习途径及职业形态均…

眼动追踪技术 | 眼动的分类和模型

摘要 灵长类动物用于调整中央凹位置的正常眼动,几乎都可以归结为五种基本类型的组合:扫视、平稳追踪、聚散、前庭眼震和生理性眼震(与注视相关的微小运动)。聚散运动用于将双眼聚焦于远处的目标(深度知觉)。其他运动(如适应和聚焦)指的是眼动的非位置变…

LMT加仿真,十一届大唐杯全国总决赛

这次省赛带了太多个省一了,并且很多都进入了国赛总决赛,具体可看下面的图片,只放了一部分。目前只有B组是只有一个商用设备赛也就是LMT,A组和高职组都是仿真实践赛加上商用设备赛。 针对商用设备赛有对应的资料&#xff…

【深度学习】第3章——回归模型与求解分析

一、回归分析 1.定义 分析自变量与因变量之间定量的因果关系,根据已有的数据拟合出变量之间的关系。 2.回归和分类的区别和联系 3.线性模型 4.非线性模型 5.线性回归※ 面对回归问题,通常分三步解决 第一步:选定使用的model,…

CFS三层内网渗透——第二层内网打点并拿下第三层内网(三)

目录 八哥cms的后台历史漏洞 配置socks代理 ​以我的kali为例,手动添加 socks配置好了,直接sqlmap跑 ​登录进后台 蚁剑配置socks代理 ​ 测试连接 ​编辑 成功上线 上传正向后门 生成正向后门 上传后门 ​内网信息收集 ​进入目标二内网机器&#xf…

SAP-SD同一物料下单价格确不同

业务说明: 业务部门反馈,同一物料下销售订单时,价格确不同。 那么这个价格是怎么取到的呢? 逻辑说明: 1、首先查看销售订单 可以看到相同物料价格是不同的,条件类型都是ZPR5,但是客户是不同…

相关款式1111

一、花梨木迎客松 1. 风速打单 发现只有在兄弟店铺有售卖 六月份成交订单数有62笔 2. 生意参谋 兄弟店铺商品访客数:3548,支付件数:95件 二. 竹节茶刷(引流) 1. 风速打单 六月订单数有165笔 兄弟:…

揭秘数据之美:【Seaborn】在现代【数学建模】中的革命性应用

目录 已知数据集 tips 生成数据集并保存为CSV文件 数据预览: 导入和预览数据 步骤1:绘制散点图(Scatter Plot) 步骤2:添加回归线(Regression Analysis) 步骤3:分类变量分析&…

Mall,正在和年轻人重新对话

【潮汐商业评论/原创】 结束了一下午的苦闷培训,当Cindy赶到重庆十字大道时,才发现十字路口上的巨大“飞行棋”在前两天就已经撤展了。 “来了又错过,就会觉得遗憾,毕竟这样的路口不多,展陈又不可能会返场。” 飞行棋…

藏文作文写作业推荐什么学习工具?《藏文翻译词典》App值得你使用,一款好用准确的藏语词汇查询辞典!

探索藏语的奥秘,体验藏族文化的魅力,尽在《藏文翻译词典》App。这款App是藏汉翻译的神器,也是藏语学习者的必备工具。在学习过程中遇到不会的藏语单词,可以使用《藏文翻译词典》App进行查询! 主要特性: 藏…

SCT612404通道,高效高集成,摄像头模组电源集成芯片

集成三路降压变换器,1CH高压BUCK,2CH低压Buck >HVBuck1:输入电压4.0V-20V,输出电流1.2A,Voo300mV/500mV >LVBuck2:输入电压2.7V-5V,输出电流0.6A , 固定1.8V输出 ;LVBuck3:输λ2.7V-5V,输出电流1.2A,可设定固定输出: 1 . 1 V / 1 . 2 V / 1 . 3 …

Intellj idea无法启动

个人电脑上安装的是2024.01版本的intellj idea作为开发工具,引入了javaagent作为工具包 但是在一次invaliad cache操作后,intellj idea就无法启动了,双击无响应。 重装了idea后也无效(这个是有原因的,下面会讲&#…

开发人员使用的10大主流任务进度管理工具

本文将分享10大优质任务管理软件:Worktile、PingCode、Asana、Todoist、ClickUp、HubSpot Task Management、Hitask、Smartsheet、ProjectManager、Microsoft To Do。 任务管理软件不仅帮助个人和团队跟踪日常任务,还优化了工作流程,确保项目…

Linux/Ubuntu访问局域网共享文件夹

文件夹中找到“Other Location”,输入“smb:IP地址/共享文件夹名称”,然后点击connect后者直接回车即可! End!

Redis 主从,哨兵,cluster集群

概述 主从复制 主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。 主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。 缺陷:故障恢复无法自动化;写操作无法负载均衡&am…

联合查询(多表查询)

多表查询是对多张表的数据取笛卡尔积(关联查询可以对关联表使用别名) 数据准备 insert into classes(name, desc) values (计算机系2019级1班, 学习了计算机原理、C和Java语言、数据结构和算法), (中文系2019级3班,学习了中国传统文学), (自动化2019级5…

Mysql 的第二次作业

一、数据库 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo 1)登陆数据库。 打开命令行,输入登陆用户名和密码。 mysql -uroot -p123456 ​ 2)切换数据库…

前端修改audio背景色

1.查看浏览器设置Show user agent shadow DOM是否打开 2.打开可以查看audio Dom /** 去掉默认的背景颜色 */ audio::-webkit-media-controls-enclosure{background-color:unset; } 3.效果图

浅谈OpenCV的多对象匹配透明图像的实现,以及如何匹配半透明控件

引子 OpenCV提供的templateMatch只负责将(相关性等)计算出来,并不会直接提供目标的对应坐标,一般来说我们直接遍历最高的相关度,就可以得到匹配度最高的坐标。但是这样一般只能得到一个坐标。在实际操作中,…

边缘计算赋能:高效固体废物管理的ARMxy工业计算机实践

固体废物处理成为城市管理与环境保护的重要议题。传统处理方式效率低下且环境污染风险高,迫切需要智能化、高效化的解决方案。在此背景下,基于ARM架构的工业计算机以其低功耗、高性能及高度可定制性,正逐渐成为智能固体废物处理系统的核心驱动…