利用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.pswp.cn/diannao/41117.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41117.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41117.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

抖音使矛,美團用盾

有市場,就有競爭。抖音全力進軍本地生活市場欲取代美團,已不是新聞。 互聯網行業進入存量時代,本地生活市場是為數不多存在較大增長空間的賽道。艾媒咨詢數據顯示,預計2025年在線餐飲外賣市場規模達到17469億元,生鮮電…

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)創建任務并綁定到…

安裝 ClamAV 并進行病毒掃描

安裝 ClamAV 并進行病毒掃描 以下是安裝 ClamAV 并使用它進行病毒掃描的步驟: 1. 安裝 ClamAV 在 Debian/Ubuntu 系統上: sudo apt update sudo apt install clamav clamav-daemon在 RHEL/CentOS 系統上: sudo yum install epel-release…

開發指南040-swagger加header

swagger可以在線生成接口文檔,便于前后端溝通,而且還可以在線調用接口,方便后臺調試。但是接口需要經過登錄校驗,部分接口還需要得到登錄token,使用token識別用戶身份進行后續操作。這種情況下,都需要接口增…

【刷題筆記(編程題)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…

必須掌握的Linux的九大命令

ifconfig 命令用于配置和查看網絡接口的參數。 ping 命令用于測試主機之間的網絡連通性。 telnet用于通過Telnet協議連接到遠程主機。 telnet 127.0.0.1 8000 telnet example.com telnet example.com 8080 iostat 命令用于報告 CPU 統計信息和 I/O 設備負載。 iostat&…

護眼熱點:臺燈護眼是真的嗎?一起來看臺燈的功能作用有哪些

如今近視問題日益嚴峻,尤為引人矚目的是,高度近視學生群體占比已逼近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.獨立預后因素分析及與臨床的…

【若依】關閉當前標簽頁并跳轉路由到其他頁面

使用場景如:當在新增/編輯路由頁面提交成功后,需要關閉當前頁,并跳轉回列表頁。 實現代碼: this.$store.dispatch("tagsView/delView", this.$route); //關閉當前頁 this.$router.replace({ path: "/xxx/xxx"…

【經驗總結】Springboot打印指定類的日志到指定文件中

原文地址:https://www.cnblogs.com/zeng1994/p/f9bff238b13a0bf8fb8bf88c41db7a34.html 以下內容已經過實踐,勘誤,總結 環境:Springboot2.5.2 公司有個項目,需要和幾個第三方系統對接。這種項目,日志一定要…