【PG備份恢復】pg_basebackup 多表空間備份恢復測試
--增量備份,pg_basebackup --開歸檔 psql mydb postgres alter system set wal_level='replica'; alter system set archive_mode='on'; --修改archive_command引數,"%p"包含完整路徑資訊的檔名,“%f"表示不包含 alter system set archive_command='cp %p /pgbackup/archive_wals/%f'; select pg_reload_conf(); --檢視,注意後邊空格 show archive_command ; --基礎備份,備份使用者必須有superuser 許可權 pg_basebackup -Ft -Pv -Xf -z -p 1921 -D /pgbackup/backups --檢視當前時間 select current_timestamp; --切換日誌 select pg_switch_wal(); --恢復測試 --停庫 pg_ctl -D $PGDATA -mi stop --移動原庫目錄 mv /pgdata/10/data /pgdata/10/data_bak2019 --建立新的目錄 mkdir -p /pgdata/10/data chmod 0770 /pgdata/10/data tar -zxvf /pgbackup/backups/base.tar.gz -C /pgdata/10/data/ --注意,如果有多個表空間,解壓基礎包後,可參考tablespace_map 檔案,解壓其他表空間到指定目錄,例如 [postgres@pgnode1 backups]$ cat tablespace_map 16385 /pgdata/10/data/pg_tbs/tbs_mydb [postgres@pgnode1 backups]$ --檢視備份資訊 [postgres@pgnode1 data]$ cat backup_label START WAL LOCATION: 0/19000028 (file 000000010000000000000019) CHECKPOINT LOCATION: 0/19000060 BACKUP METHOD: streamed BACKUP FROM: master START TIME: 2019-01-15 16:01:40 CST LABEL: pg_basebackup base backup --解壓其他表空間 tar -zxvf /pgbackup/backups/16385.tar.gz -C /pgdata/10/data/pg_tbs/tbs_mydb --配置recovery.conf檔案 cp /opt/pgsql/share/postgresql/recovery.conf.sample /pgdata/10/data/recovery.conf echo "restore_command='cp /pgbackup/archive_wals/%f %p'" >> /pgdata/10/data/recovery.conf [postgres@pgnode1 data]$ cat /pgdata/10/data/recovery.conf | grep -v '#' restore_command='cp /pgbackup/archive_wals/%f %p' #預設顯示 recovery_target_timeline='latest'; --啟動資料庫 pg_ctl start -D $PGDATA --當前資料庫伺服器ip和port select inet_server_addr(),inet_server_port(); --or select now(); --基於時間點 select current_timestamp; restore_target_time='2019-01-15 16:17:18.590319+08' --基於還原點 select pg_create_restore_point('restore_point'); restore_target_name='restore_point'; --基於事務 select txid_current(); restore_target_txid= --基於時間線(時間線,恢復一次增加一個自然數) [postgres@pgnode1 ~]$ pg_controldata $PGDATA |grep TimeLineID Latest checkpoint's TimeLineID: 2 Latest checkpoint's PrevTimeLineID: 2 recover_target_timeline=2 recover_target_time='2019-01-15 21:02:00'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2557344/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【PG備份恢復】pg_dump命令測試
- PG備份恢復工具pg_probackup
- RAC備份恢復之Voting備份與恢復
- RMAN備份與恢復測試
- SYSTEM 表空間管理及備份恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- PG-pg_dump備份/恢復資料庫資料庫
- 備份和恢復
- mydumper備份恢復
- Mysql備份恢復MySql
- pg_dump 備份,恢復資料庫資料庫
- 詳解叢集級備份恢復:物理細粒度備份恢復
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- Mysql備份與恢復(1)---物理備份MySql
- MySQL 備份與恢復MySql
- redis 備份和恢復Redis
- RMAN備份恢復技巧
- Jenkins備份與恢復Jenkins
- KunlunDB備份和恢復
- Grafana 備份恢復教程Grafana
- rman 增量備份恢復
- Postgresql 備份與恢復SQL
- PostgreSQL備份恢復管理器pg_probackupSQL
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- MySQL 非常規恢復與物理備份恢復MySql
- Mysql備份與恢復(2)---邏輯備份MySql
- GitLab的備份與恢復Gitlab
- 資料庫備份恢復資料庫
- DB的備份與恢復
- ORACLE備份&恢復案例(轉)Oracle
- RMAN備份異機恢復
- tore 命令來恢復備份
- SqlServer備份和恢復(二)SQLServer
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- SqlServer 備份和恢復(一)SQLServer
- 【MySQL】MySQL備份和恢復MySql