婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Postgresql備份和增量恢復(fù)方案

Postgresql備份和增量恢復(fù)方案

熱門標(biāo)簽:外呼調(diào)研系統(tǒng) 打電話智能電銷機(jī)器人授權(quán) 海豐有多少商家沒有地圖標(biāo)注 重慶自動外呼系統(tǒng)定制 地圖標(biāo)注和圖片名稱的區(qū)別 漯河外呼電話系統(tǒng) 美容工作室地圖標(biāo)注 合肥公司外呼系統(tǒng)運(yùn)營商 辦公外呼電話系統(tǒng)

前言

最近工作上使用的數(shù)據(jù)庫一直是Postgresql,這是一款開源的數(shù)據(jù)庫,而且任何個人可以將該數(shù)據(jù)庫用于商業(yè)用途。在使用Postgresql的時候,讓我最明顯的感覺就是這數(shù)據(jù)庫做的真心好,雖然說數(shù)據(jù)庫的安裝包真的很小,但是性能和操作的便捷是一點(diǎn)也不輸給其他商業(yè)的大型數(shù)據(jù)庫,另外在命令行界面下對該數(shù)據(jù)庫直接進(jìn)行操作的感覺真的是很爽。在使用數(shù)據(jù)庫的時候,我們作為小公司的數(shù)據(jù)庫管理員有一項(xiàng)工作是不可能避免的,那就是數(shù)據(jù)的備份和恢復(fù)問題。PostgreSQL雖然各個方面的有點(diǎn)很多,但是在數(shù)據(jù)庫備份這方面,它是不支持增量備份的,這點(diǎn)確實(shí)讓人覺得很是可惜啊。不過,瑕不掩瑜,總的來說這是一款很好的數(shù)據(jù)庫軟件。

之前,我們在 《Postgresql主從異步流復(fù)制方案》 一節(jié)中,部署了Postgresql的主從異步流復(fù)制環(huán)境。主從復(fù)制的目的是為了實(shí)現(xiàn)數(shù)據(jù)的備份,實(shí)現(xiàn)數(shù)據(jù)的高可用性和容錯行。下面主要簡單地介紹下我們運(yùn)維Postgresql數(shù)據(jù)庫時的場景備份與恢復(fù)方案。

增量備份

PostgreSQL在做寫入操作時,對數(shù)據(jù)文件做的任何修改信息,首先會寫入WAL日志(預(yù)寫日志),然后才會對數(shù)據(jù)文件做物理修改。當(dāng)數(shù)據(jù)庫服務(wù)器掉重啟時,PostgreSQL在啟動時會首先讀取WAL日志,對數(shù)據(jù)文件進(jìn)行恢復(fù)。因此,從理論上講,如果我們有一個數(shù)據(jù)庫的基礎(chǔ)備份(也稱為全備),再配合WAL日志,是可以將數(shù)據(jù)庫恢復(fù)到任意時間點(diǎn)的。

上面的知識點(diǎn)很重要,因?yàn)槲覀儓鼍暗脑隽總浞菡f白了就是通過基礎(chǔ)備份 + 增量WAL日志 進(jìn)行重做恢復(fù)的。

增量備份設(shè)置

為了演示相關(guān)功能,我們基于 《Postgresql主從異步流復(fù)制方案》 一節(jié)中的環(huán)境pghost1服務(wù)器上,創(chuàng) 建相關(guān)管理目錄

切換到 postgres 用戶下

mkdir -p /data/pg10/backups
mkdir -p /data/pg10/archive_wals

backups目錄則可以用來存放基礎(chǔ)備份

archive_wals目錄自然用來存放歸檔了

接下來我們修改我們的postgresql.conf文件的相關(guān)設(shè)置

wal_level = replica

archive_mode = on

archive_command = '/usr/bin/lz4 -q -z %p /data/pg10/archive_wals/%f.lz4'

archive_command 參數(shù)的默認(rèn)值是個空字符串,它的值可以是一條shell命令或者一個復(fù)雜的shell腳本。

在archive_command的shell命令或腳本中可以用 %p 表示將要?dú)w檔的WAL文件的包含完整路徑信息的文件名,用 %f 代表不包含路徑信息的WAL文件的文件名。

修改wal_level和archive_mode參數(shù)都需要重新啟動數(shù)據(jù)庫才可以生效,修改archive_command不需要重啟,只需要reload即可,例如:

postgres=# SELECT pg_reload_conf();

postgres=# show archive_command ; 

創(chuàng)建基礎(chǔ)備份

我們使用之前介紹過的pg_basebackup命令進(jìn)行基礎(chǔ)備份的創(chuàng)建, 基礎(chǔ)備份很重要,我們的數(shù)據(jù)恢復(fù)不能沒有它,建議我們根據(jù)相關(guān)業(yè)務(wù)策略,周期性生成我們的基礎(chǔ)備份。

$ pg_basebackup -Ft -Pv -Xf -z -Z5 -p 25432 -D /data/pg10/backups/

這樣,我們就成功生成我們的基礎(chǔ)數(shù)據(jù)備份了

設(shè)置還原點(diǎn)

一般我們需要根據(jù)重要事件發(fā)生時創(chuàng)建一個還原點(diǎn),通過基礎(chǔ)備份和歸檔恢復(fù)到事件發(fā)生之前的狀態(tài)。

創(chuàng)建還原點(diǎn)的系統(tǒng)函數(shù)為:pg_create_restore_point,它的定義如下:

postgres=# SELECT pg_create_restore_point('domac-201810141800');

恢復(fù)到指定還原點(diǎn)

接下來,我們通過一個示例,讓我們的數(shù)據(jù)還原到我們設(shè)置的還原點(diǎn)上

首先,我們創(chuàng)建一張測試表:

CREATE TABLE test_restore(
 id SERIAL PRIMARY KEY,
 ival INT NOT NULL DEFAULT 0,
 description TEXT,
 created_time TIMESTAMPTZ NOT NULL DEFAULT now()
);

初始化一些測試數(shù)據(jù)作為基礎(chǔ)數(shù)據(jù),如下所示:

postgres=# INSERT INTO test_restore (ival) VALUES (1);
INSERT 0 1
postgres=# INSERT INTO test_restore (ival) VALUES (2);
INSERT 0 1
postgres=# INSERT INTO test_restore (ival) VALUES (3);
INSERT 0 1
postgres=# INSERT INTO test_restore (ival) VALUES (4);
INSERT 0 1

postgres=# select * from test_restore;
 id | ival | description |   created_time
----+------+-------------+-------------------------------
 1 | 1 |    | 2018-10-14 11:13:41.57154+00
 2 | 2 |    | 2018-10-14 11:13:44.250221+00
 3 | 3 |    | 2018-10-14 11:13:46.311291+00
 4 | 4 |    | 2018-10-14 11:13:48.820479+00
(4 rows)

并且按照上文的方法創(chuàng)建一個基礎(chǔ)備份。如果是測試,有一點(diǎn)需要注意,由于WAL文件是寫滿16MB才會進(jìn)行歸檔,測試階段可能寫入會非常少,可以在執(zhí)行完 基礎(chǔ)備份之后,手動進(jìn)行一次WAL切換。例如:

postgres=# select pg_switch_wal();
 pg_switch_wal
---------------
 0/1D01B858
(1 row)

或者通過設(shè)置archive_timeout參數(shù),在達(dá)到timeout閾值時強(qiáng)行切換到新的WAL段。

接下來,創(chuàng)建一個還原點(diǎn),如下所示:

postgres=# select pg_create_restore_point('domac-1014');
 pg_create_restore_point
-------------------------
 0/1E0001A8
(1 row)

接下來我們對數(shù)據(jù)做一些變更, 我們刪除test_restore的所有數(shù)據(jù):

postgres=# delete from test_restore;
DELETE 4

下面進(jìn)行恢復(fù)到名稱為“domac-1014”還原點(diǎn)的實(shí)驗(yàn),如下所示:

停止數(shù)據(jù)庫

$ pg_ctl stop -D /data/pg10/db

移除舊的數(shù)據(jù)目錄

$ rm -rf /data/pg10/db

$ mkdir db  chmod 0700 db

$ tar -xvf /data/pg10/backups/base.tar.gz -C /data/pg10/db

cp $PGHOME/share/recovery.conf.sample /pgdata/10/data/recovery.conf

chmod 0600 /pgdata/10/data/recovery.conf

修改 recovery.conf, 修改以下配置信息:

restore_command = '/usr/bin/lz4 -d /data/pg10/archive_wals/%f.lz4 %p'
recovery_target_name = 'domac-1014

然后啟動數(shù)據(jù)庫進(jìn)入恢復(fù)狀態(tài),觀察日志,如下所示:

bash-4.2$ pg_ctl start -D /data/pg10/db
waiting for server to start....2018-10-14 11:26:56.949 UTC [8397] LOG: listening on IPv4 address "0.0.0.0", port 25432
2018-10-14 11:26:56.949 UTC [8397] LOG: listening on IPv6 address "::", port 25432
2018-10-14 11:26:56.952 UTC [8397] LOG: listening on Unix socket "/tmp/.s.PGSQL.25432"
2018-10-14 11:26:56.968 UTC [8398] LOG: database system was interrupted; last known up at 2018-10-14 09:26:59 UTC
2018-10-14 11:26:57.049 UTC [8398] LOG: starting point-in-time recovery to "domac-1014"
/data/pg10/archive_wals/00000002.history.lz4: No such file or directory
2018-10-14 11:26:57.052 UTC [8398] LOG: restored log file "00000002.history" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.077 UTC [8398] LOG: restored log file "000000020000000000000016" from archive
2018-10-14 11:26:57.191 UTC [8398] LOG: redo starts at 0/16000060
2018-10-14 11:26:57.193 UTC [8398] LOG: consistent recovery state reached at 0/16000130
2018-10-14 11:26:57.193 UTC [8397] LOG: database system is ready to accept read only connections
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.217 UTC [8398] LOG: restored log file "000000020000000000000017" from archive
 done
server started
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.384 UTC [8398] LOG: restored log file "000000020000000000000018" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.513 UTC [8398] LOG: restored log file "000000020000000000000019" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.699 UTC [8398] LOG: restored log file "00000002000000000000001A" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.805 UTC [8398] LOG: restored log file "00000002000000000000001B" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:57.982 UTC [8398] LOG: restored log file "00000002000000000000001C" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:58.116 UTC [8398] LOG: restored log file "00000002000000000000001D" from archive
/data/pg10/archive_w : decoded 16777216 bytes
2018-10-14 11:26:58.310 UTC [8398] LOG: restored log file "00000002000000000000001E" from archive
2018-10-14 11:26:58.379 UTC [8398] LOG: recovery stopping at restore point "domac-1014", time 2018-10-14 11:17:20.680941+00
2018-10-14 11:26:58.379 UTC [8398] LOG: recovery has paused
2018-10-14 11:26:58.379 UTC [8398] HINT: Execute pg_wal_replay_resume() to continue.

重啟后,我們對test_restore表進(jìn)行查詢,看數(shù)據(jù)是否正常恢復(fù):

postgres=# select * from test_restore;
 id | ival | description |   created_time
----+------+-------------+-------------------------------
 1 | 1 |    | 2018-10-14 11:13:41.57154+00
 2 | 2 |    | 2018-10-14 11:13:44.250221+00
 3 | 3 |    | 2018-10-14 11:13:46.311291+00
 4 | 4 |    | 2018-10-14 11:13:48.820479+00
(4 rows)

可以看到數(shù)據(jù)已經(jīng)恢復(fù)到指定的還原點(diǎn):domac-1014。

這時,recovery.conf可以移除,避免下次數(shù)據(jù)重啟,數(shù)據(jù)再次恢復(fù)到該還原點(diǎn)

總結(jié)

備份和恢復(fù)是數(shù)據(jù)庫管理中非常重要的工作,日常運(yùn)維中,我們需要根據(jù)需要進(jìn)行相關(guān)策略的備份,并且周期性地進(jìn)行恢復(fù)測試,保證數(shù)據(jù)的安全。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 啟動PostgreSQL服務(wù)器 并用pgAdmin連接操作
  • PostgreSQL管理工具phpPgAdmin入門指南
  • docker環(huán)境下數(shù)據(jù)庫的備份(postgresql, mysql) 實(shí)例代碼
  • 在Windows下自動備份PostgreSQL的教程
  • postgreSQL使用pgAdmin備份服務(wù)器數(shù)據(jù)的方法

標(biāo)簽:來賓 錦州 株洲 晉城 烏海 珠海 衡陽 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Postgresql備份和增量恢復(fù)方案》,本文關(guān)鍵詞  Postgresql,備份,和,增量,恢復(fù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Postgresql備份和增量恢復(fù)方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于Postgresql備份和增量恢復(fù)方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    www.亚洲在线| 亚洲国产中文字幕| 国产一区二区视频在线| 欧美一区三区二区| 免费观看在线综合色| 日韩欧美国产一二三区| 韩国视频一区二区| 中文字幕精品—区二区四季| 91麻豆.com| 日韩高清在线观看| 国产日韩三级在线| 91在线视频18| 天天色图综合网| 日韩三区在线观看| 丁香婷婷综合激情五月色| 亚洲四区在线观看| 91精品国产色综合久久| 国产麻豆精品在线| 亚洲女同一区二区| 日韩亚洲欧美成人一区| 国产成人激情av| 国产精品免费人成网站| 欧美日高清视频| 国产精品自拍在线| 亚洲精品乱码久久久久久| 51精品秘密在线观看| 国产成人亚洲综合a∨猫咪 | 精品国产污网站| 国产精品小仙女| 亚洲精品自拍动漫在线| 日韩精品中文字幕一区二区三区 | 99麻豆久久久国产精品免费优播| 亚洲综合一区二区三区| 日韩欧美成人一区二区| 91免费看视频| 韩国理伦片一区二区三区在线播放| 中文字幕亚洲一区二区av在线 | 亚洲chinese男男1069| 国产日韩欧美一区二区三区乱码| 91在线视频官网| 国产一区二区三区香蕉| 亚洲永久免费视频| 日本一区免费视频| 91精品国产一区二区三区香蕉 | 欧美天天综合网| 国产成人精品免费网站| 日本午夜一区二区| 一区二区三区在线观看动漫| 国产亚洲1区2区3区| 欧美一卡二卡三卡四卡| 色综合久久88色综合天天| 国产乱子轮精品视频| 亚洲成人精品在线观看| 国产精品麻豆一区二区| 精品国产乱码久久久久久久久 | 在线中文字幕不卡| 国产91精品一区二区麻豆亚洲| 日韩黄色小视频| 亚洲永久精品大片| 亚洲日本电影在线| 欧美男人的天堂一二区| 不卡影院免费观看| 国产69精品久久久久毛片| 亚洲二区在线观看| 成人欧美一区二区三区黑人麻豆| 国产成a人无v码亚洲福利| 亚洲三级久久久| 在线播放欧美女士性生活| 欧美中文字幕一二三区视频| 成人午夜在线视频| 国内欧美视频一区二区| 亚洲男人天堂一区| 国产精品午夜久久| 国产福利视频一区二区三区| 无码av中文一区二区三区桃花岛| 中文字幕中文字幕一区二区 | 国产精品二三区| 51精品秘密在线观看| aaa亚洲精品| 精品中文字幕一区二区小辣椒| 亚洲国产日韩一区二区| 国产精品欧美极品| 日韩欧美www| 色噜噜夜夜夜综合网| 国产一区二区三区在线观看精品 | 欧美va天堂va视频va在线| 91亚洲精品久久久蜜桃| 国产精品自产自拍| 国产精品99久久久久久有的能看| 麻豆精品一二三| 亚洲麻豆国产自偷在线| 亚洲素人一区二区| 亚洲精品一二三四区| 91国产丝袜在线播放| 色网站国产精品| 国产精品一二三| 亚洲狠狠丁香婷婷综合久久久| 中文字幕不卡的av| 777午夜精品免费视频| 色综合久久中文字幕综合网| 亚洲国产日韩av| 中文字幕在线一区免费| 337p亚洲精品色噜噜| 欧美色涩在线第一页| 欧美天天综合网| www.欧美精品一二区| 国产成人精品三级麻豆| 色一区在线观看| 99久久精品国产观看| 9人人澡人人爽人人精品| 国产一区不卡精品| 国产成人无遮挡在线视频| 91亚洲永久精品| 韩国成人在线视频| 久久精品国产色蜜蜜麻豆| 日韩美女啊v在线免费观看| 亚洲欧洲韩国日本视频| 欧美变态tickle挠乳网站| 欧美一级欧美一级在线播放| 精品久久久久久综合日本欧美| 精品播放一区二区| 91麻豆精品国产| 欧美少妇性性性| 欧美日韩免费不卡视频一区二区三区| 91麻豆自制传媒国产之光| 日本丶国产丶欧美色综合| 99久久精品免费观看| 欧美日韩大陆一区二区| 777欧美精品| 欧美一区二区福利在线| 亚洲精品一区二区三区福利| 日韩女同互慰一区二区| 日韩亚洲电影在线| 欧美精品v日韩精品v韩国精品v| 精品国产免费人成在线观看| 亚洲国产乱码最新视频 | 亚洲品质自拍视频| 一区二区欧美国产| 免费看欧美美女黄的网站| 国产成人亚洲综合a∨婷婷图片| 日本v片在线高清不卡在线观看| 日韩电影在线一区二区三区| 老司机免费视频一区二区三区| 九九在线精品视频| 99re这里只有精品6| 精品欧美一区二区久久| 亚洲激情综合网| 国产精品一区二区视频| 欧美日韩三级一区二区| 久久色.com| 黄色成人免费在线| 91精品国产综合久久精品app | 69堂国产成人免费视频| 亚洲欧洲制服丝袜| 91视频com| 国产精品久久久久毛片软件| 激情成人午夜视频| 日韩欧美在线不卡| 天天操天天干天天综合网| 色综合久久九月婷婷色综合| 亚洲国产精品传媒在线观看| 国产精品99久久久久久似苏梦涵| 欧美精品一区二| 国产麻豆成人传媒免费观看| 精品欧美久久久| 国产美女精品在线| 久久久久国产免费免费| 久久国产日韩欧美精品| 欧美美女激情18p| 日韩精品亚洲一区二区三区免费| 91在线小视频| 国产精品国产三级国产普通话三级 | 国产精品亚洲人在线观看| 精品欧美久久久| 国产在线视频不卡二| 日韩欧美国产系列| 美女视频一区二区三区| 精品国产1区二区| 国产精品中文字幕日韩精品| 久久新电视剧免费观看| 成人一级黄色片| 18成人在线观看| 色狠狠一区二区三区香蕉| 亚洲黄网站在线观看| 欧美性感一区二区三区| 男男成人高潮片免费网站| 日韩视频一区在线观看| 国产精品自拍网站| 日韩毛片精品高清免费| av动漫一区二区| 一区二区三区日韩精品视频| 91精品国产综合久久精品| 国产一区二区三区四| 久久久www成人免费毛片麻豆 | 欧美日韩国产综合一区二区| 无码av免费一区二区三区试看| 欧美精品一级二级三级| 国产精品影音先锋| 亚洲猫色日本管| 精品精品国产高清a毛片牛牛|