PostgreSQL從小白到高手教程 - 第38講:數據庫備份

PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內容包括對PG基礎的認知、包括安裝使用、包括角色權限、包括維護管理、、等內容,希望對熱愛PG、學習PG的同學們有幫助,歡迎持續關注CUUG PG技術大講堂。

第38講:數據庫備份

PostgreSQL第38講:12月09日(周六)19:30,釘釘群直播,群號:35-82-24-60

內容1:備份術語

內容2:備份工具

內容3:備份模式

內容4:basebackup簡介

內容5:全庫備份

內容6:表空間備份

內容7:只讀數據庫備份

術語

全庫備份

目標數據庫處于打開或者關閉狀態

備份$PGDATA下所有的數據文件

部分備份

備份除了pg_global的其它表空間

一致性備份

不一致性備份

備份工具

使用操作系統命令對數據庫文件進行備份和恢復

使用pg_basebackup對數據庫文件進行備份

使用pg_rman對數據庫文件進行備份和恢復

備份模式

一致性備份(數據庫關閉)

備份$PGDATA目錄下所有文件

一致性全庫備份的好處

概念簡單

易于執行

需要很少的操作員交互

執行一致性全庫備份

數據庫打開模式下備份

數據庫打開模式下備份好處

保持高數據庫可用性

支持不間斷的業務運營

數據庫打開模式下備份要求

數據庫歸檔

· 歸檔日志

連續歸檔是在WAL段切換時將WAL段文件復制到歸檔區域的功能,由archiver(后臺)進程執行。其中,占位符%p是復制的WAL段,而%f是存檔日志。

ALTER SYSTEM SET archive_command = 'cp %p /home/postgres/archives/%f';

ALTER SYSTEM SET archive_mod = on;

執行數據庫打開模式下備份

· pg_basebackup 基本備份的標準過程如下所示:

(1) 執行pg_start_backup 命令?

(2) 使用tar/cp命令對$PGDATA目錄進行備份

(3) 執行pg_stop_backup 命令

pg_basebackup工作原理

· pg_start_backup執行以下四個操作

Force into the full-page wirte mode.

Switch to the current WAL segment file (version 8.4 or later).

Do checkpoint.

Create a backup_label file–此文件創建于base目錄的同一層,包含有關基本備份本身的基本信息,例如此檢查點的檢查點位置。

· backup_label文件包含如下內容

CHECKPOINT LOCATION –這是記錄此命令創建的檢查點的LSN位置。

START WAL LOCATION –這不與PITR一起使用,而是與流式復制一起使用。它被命名為“START WAL LOCATION”,因為處于復制模式的備用服務器在初始啟動時只讀取一次該值。

BACKUP METHOD–這是用于進行此基礎備份的方法。(pg_start_backup或pg_basebackup。)

BACKUP FROM –這顯示此備份是從主備份還是從備用備份。

START TIME –這是執行pg_start_backup時的時間戳。

LABEL –這是在pg_start_backup中指定的標簽。

START TIMELINE –這是備份開始的時間線。這是為了進行健全性檢查,并已在版本11中引入。

· pg_stop_backup

如果pg_start_backup強制更改了非整頁寫入模式,則將其重置為非整頁寫入模式。

寫一個備份結束的XLOG記錄。

切換WAL日志。

創建備份歷史文件–此文件包含備份標簽文件的內容和執行pg_stop_backup的時間戳。

刪除備份標簽文件–備份標簽文件是從基本備份恢復所必需的,一旦復制,就不必在原始數據庫群集中。

執行pg_basebackup備份

· 示例

產生壓縮的tar包,-Ft參數指定:

pg_basebackup -D bk1 -Ft -z -P

此備份花的時間比較長,但是節省空間。支持表空間文件存放在其它目錄下。

產生跟源文件一樣的格式,即原樣格式,-Fp參數指定:

pg_basebackup -D bk2 -Fp -P

此備份方式很快,但是不節省空間。如果有表空間路徑放在其它目錄下,則備份失敗。

執行用戶管理全庫備份

· 示例

數據庫中執行開始備份函數

select pg_start_backup('full');

使用tar命令進行備份

cd $PGATA

tar -zcf /backup/data.tar.gz .

數據庫中執行結束備份函數

select pg_stop_backup();

執行表空間備份

· 示例

數據庫中執行開始備份函數

select pg_start_backup('tbs');

使用tar命令進行備份(備份pg_default表空間所在的目錄)

cd $PGATA

tar -zcf /backup/base.tar.gz base

cp backup_lable /backup

數據庫中執行結束備份函數

select pg_stop_backup();

執行只讀數據庫備份

· 示例

把某個數據庫變成只讀

ALTER DATABASE new_db1 set default_transaction_read_only=on;

使用tar/cp命令進行備份(備份new_db1所在的目錄)

cd $PGATA/base

tar -zcf /backup/90195.tar.gz 90195

CUUG PostgreSQL技術大講堂系列公開課,往期視頻及文檔,請聯系CUUG客服。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208853.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208853.shtml

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

相關文章

running小程序重要技術流程文檔

一、項目文件說明: (注:getMyMoney無用已刪除) 二、重要文件介紹 1.reinfo.js:位于utils文件下,該文件封裝有統一的請求URL,和請求API同意封裝供頁面調用;調用時候需要在頁面上先…

【C語言】操作符詳解(一):進制轉換,原碼,反碼,補碼

目錄 操作符分類 2進制和進制轉換 2進制轉10進制 10進制轉2進制 2進制轉8進制和16進制 2進制轉8進制 2進制轉16進制 原碼、反碼、補碼 操作符分類 操作符中有一些操作符和二進制有關系,我們先鋪墊一下二進制的和進制轉換的知識。 2進制和進制轉換 其實我們經…

數據結構準備知識

struct(結構體) struct,或稱為結構體,是C語言中一種復合數據類型,它允許你將多個不同類型的數據項組合成一個單一的單位。這對于創建記錄或更復雜的數據結構非常有用。 結構體的定義語法如下: struct 結…

vertica主鍵列能插入重復值的處理辦法

問題描述 開發同事反饋在vertica中創建含主鍵列的表中插入重復數據時沒有進行校驗,插入重復值成功。經過測試著實可以插入重復值,這個坑有些不一樣。 創建表和插入語句如下: --創建表 CREATE TABLE dhhtest(ID VARCHAR(64) PRIMARY KEY );…

postgresql數據庫配置主從并配置ssl加密

1、先將postgresql數據庫主從配置好 參考:postgresql主從配置 2、在主節點配置ssl加密,使用navicat測試是否可以連接 參考:postgresql配置ssl 3、正常連接無誤后,將root.crt、server.crt、server.key復制到從數據庫節點的存儲…

使用Microsoft Dynamics AX 2012 - 5. 生產控制

生產控制的主要職責是生產成品。為了完成這項任務,制造業需要消耗物品和資源能力(人員和機械)。制造過程可能包括半成品的生產和庫存。半成品是指物品包括在成品材料清單中。 制造業的業務流程 根據公司的要求,您可以選擇申請Dy…

某馬點評——day04

達人探店 發布探店筆記 改一下&#xff0c;圖片保存路徑就可以直接運行測試了。 查看探店筆記 Service public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IBlogService {Resourceprivate IUserService userService;Overridepublic Resu…

OpenCL學習筆記(二)手動編譯開發庫(win10+vs2019)

前言 有時需求比較特別&#xff0c;可能需要重新編譯opencl的sdk庫。本文檔簡單記錄下win10下&#xff0c;使用vs2019編譯的過程&#xff0c;有需要的小伙伴可以參考下 一、獲取源碼 項目地址&#xff1a;GitHub - KhronosGroup/OpenCL-SDK: OpenCL SDK 可以直接使用git命令…

一篇文章了解指針變量

字符指針變量 在指針的類型中我們知道有一種指針叫做字符指針 它的使用情況如下&#xff1a; #include<stdio.h> int main() {char pa w;char*p1&pa;*p1 a;printf("%c\n", *p1);return 0; } 在這段代碼當中&#xff0c;我們將‘w’字符的地址傳到了p…

vue3 自己寫一個月的日歷

效果圖 代碼 <template><div class"monthPage"><div class"calendar" v-loading"loading"><!-- 星期 --><div class"weekBox"><div v-for"(item, index) in dayArr" :key"index&q…

2.修改列名與列的數據類型

修改字段名與字段數據類型 1.修改字段名 有時&#xff0c;在我們建好一張表后會突然發現&#xff0c;哎呀&#xff01;字段名貌似寫錯了&#xff01;怎么辦&#xff1f;要刪了表再重新建一個新表嗎&#xff1f;還是要刪了這個字段再新建一個新的字段&#xff1f; 都不用&…

AIGC專題報告:生成式人工智能人人可用的新時代

今天分享的AIGC系列深度研究報告&#xff1a;《AIGC專題報告&#xff1a;生成式人工智能人人可用的新時代》。 &#xff08;報告出品方&#xff1a;埃森哲&#xff09; 報告共計&#xff1a;21頁 人工智能發展迎來新拐點 ChatGPT 正在喚醒全球對人工智能&#xff08;AI&…

蛇形矩陣

蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。 例如&#xff0c;當輸入5時&#xff0c;應該輸出的三角形為&#xff1a; 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 輸入描述&#xff1a;輸入正整數N&#xff08;N不大于100&#xff09; 輸出描述&#xff1a;輸出一個N…

MySQL七 | 存儲引擎

目錄 存儲引擎 存儲引擎特點 存儲引擎選擇 Innodb與MyISAM區別 存儲引擎 默認存儲引擎:InnoDB show engines;#展示當前數據庫支持的存儲引擎 存儲引擎特點 特點InnoDBMyISAMMemory存儲限制64TB有有事務安全支持--鎖機制行鎖表鎖表鎖Btree鎖支持支持 支持 Hash索引--支…

在pom.xml中添加maven依賴,但是類里面import導入的時候報錯

問題&#xff1a; Error:(27, 8) java: 類TestKuDo是公共的, 應在名為 TestKuDo.java 的文件中聲明 Error:(7, 23) java: 程序包org.apache.kudu不存在 Error:(8, 23) java: 程序包org.apache.kudu不存在 Error:(9, 23) java: 程序包org.apache.kudu不存在 Error:(10, 30) jav…

【場景測試用例】上傳文件

測試思路&#xff1a; 功能 上傳符合需求給的文件格式&#xff0c;大小&#xff0c;寬高等可以正常上傳 不同的文件格式最大/最小/中間的文件大小如支持批量上傳可以正常上傳 邊界值如支持刪除可以正常刪除指定文件&#xff0c;其他文件不受影響如支持預覽&#xff0c;可以正常…

【Java探索之旅】我與Java的初相識(一):Java的特性與優點及其發展史

&#x1f3a5; 嶼小夏 &#xff1a; 個人主頁 &#x1f525;個人專欄 &#xff1a; Java入門到精通 &#x1f304; 莫道桑榆晚&#xff0c;為霞尚滿天&#xff01; 文章目錄 一. Java語言概述與優勢1.1 Java的概述1.2 Java語言的優勢 二. Java領域與發展史2.1 Java的使用領域2.…

面試多線程八股文十問十答第二期

面試多線程八股文十問十答第二期 作者&#xff1a;程序員小白條&#xff0c;個人博客 相信看了本文后&#xff0c;對你的面試是有一定幫助的&#xff01; ?點贊?收藏?不迷路&#xff01;? 1.進程和線程的區別 概念不同&#xff1a;進程是操作系統中的一個獨立執行單元&a…

LeetCode56. Merge Intervals

文章目錄 一、題目二、題解 一、題目 Given an array of intervals where intervals[i] [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input. Example 1: Input: interva…

目標檢測mAP計算以及coco評價標準

這篇是我對嗶哩嗶哩up主 霹靂吧啦Wz 的視頻的文字版學習筆記 感謝他對知識的分享 講一下目標檢測中的一些常見的指標 在我們使用目標檢測網絡訓練時 最后在驗證集上會得到一個coco的評價列表 就像我們圖中給的這一系列參數列表一樣 我們再進一步引入兩個概念 第一個叫做precisi…