Postgresql 備份恢復
線上備份以及即時恢復(PITR)
組合檔案系統備份與WAL檔案的備份。如果需要恢復,我們就恢復備份, 然後重放備份了的WAL檔案,把備份恢復到當前的時間。注意: pg_dump和 pg_dumpall沒有產生檔案系統級別備份,並且不能作為 連續歸檔解決方案的一部分。比如備份是符合邏輯的並且不包含 WAL重放使用的足夠資訊。
24.3.1. 設定WAL歸檔
一個執行著的PostgreSQL系統生成一個無限長的WAL日誌序列。 系統物理上把這個序列分隔成WAL段檔案,通常每段16M(在編譯PostgreSQL的 時候可以改變其大小)。這些段檔案的名字是數值命名的,這些數值反映他們在抽取出來的 WAL 序列中的位置。在不適用WAL歸檔的時候,系統通常只是建立幾個段檔案然 後"迴圈"使用它們,方法是把不再使用的段檔案的名字重新命名為更高的段編號。 系統假設那些內容比前一次檢查點更老的段檔案已經沒用了,然後就可以迴圈利用。
# - Archiving -
archive_mode = on # allows archiving to be done
# (change requires restart)
#archive_command = 'test ! -f /u01/app/postgres/recovery/archive/crm03/%f && cp %p /u01/app/postgres/recovery/archive/crm03/%f' # command to use to archive a logfile segment
#TBY-20160318::archive_command = 'rsync -a %p barman@rtdkm1bar01.100:/barman/rtdka1pgs51_crm03/incoming/' # command to use to archive a logfile segment
archive_command = '/var/lib/pgsql/archive_wal.sh %p %f' # command to use to archive a logfile segment
archive_timeout = 1800 # force a logfile segment switch after this
# number of seconds; 0 disables
----------------------------------------------------------------------------------------
cat archive_wal.sh
#!/bin/bash
# Script de copie des WALs en local et vers le serveur esclave
# Usage:
# archive_command = '/var/lib/pgsql/archive_wal.sh %p %f'
FILE=$1
FILE_NAME=$2
INSTANCE=crm03
SLAVE=rtdkm1ply51.hosting.as
DATA=/u01/app/postgres/data/${INSTANCE}
#BARMAN=rtdka1pql69.dktetrix.net
#BARMAN_DIR=/barman/rtdka1pql51_mydkt01/incoming/
#TBY20160316::BARMAN=rtdkm1ply51.hosting.as
BARMAN=rtdkm1pgs51.hosting.as
BARMAN_DIR=/barman/rtdkm1pgs51_${INSTANCE}/incoming/
LOG=/tmp/rsync-archives.log
ARCHDIR=/u01/app/postgres/recovery/archive/${INSTANCE}
ARCHDIRDIST=/u01/app/postgres/recovery/archive/${INSTANCE}
date > $LOG
/usr/bin/rsync -a $DATA/$FILE $ARCHDIR/$FILE_NAME
if [ $? -ne 0 ]
then
echo "Archiving error of the WAL $FILE on the master server" >> $LOG 2>&1
exit 1
fi
/usr/bin/rsync $FILE postgres@$SLAVE:$ARCHDIRDIST/$FILE_NAME
if [ $? -ne 0 ]
then
echo "Archiving error of the WAL $FILE on the slace server" >> $LOG 2>&1
exit 1
fi
/usr/bin/rsync $FILE barman@$BARMAN:$BARMAN_DIR/$FILE_NAME
if [ $? -ne 0 ]
then
echo "Archiving error of the WAL $FILE on the BARMAN server $BARMAN" >> $LOG 2>&1
exit 1
fi
-------------------------------------------------------------------------------------------
pg_switch_xlog手動強制切換段檔案
cat archive_wal.sh
#!/bin/bash
# Script de copie des WALs en local et vers le serveur esclave
# Usage:
# archive_command = '/var/lib/pgsql/archive_wal.sh %p %f'
FILE=$1
FILE_NAME=$2
INSTANCE=crm03
SLAVE=rtdkm1ply51.hosting.as
DATA=/u01/app/postgres/data/${INSTANCE}
#BARMAN=rtdka1pql69.dktetrix.net
#BARMAN_DIR=/barman/rtdka1pql51_mydkt01/incoming/
#TBY20160316::BARMAN=rtdkm1ply51.hosting.as
BARMAN=rtdkm1pgs51.hosting.as
BARMAN_DIR=/barman/rtdkm1pgs51_${INSTANCE}/incoming/
LOG=/tmp/rsync-archives.log
ARCHDIR=/u01/app/postgres/recovery/archive/${INSTANCE}
ARCHDIRDIST=/u01/app/postgres/recovery/archive/${INSTANCE}
date > $LOG
/usr/bin/rsync -a $DATA/$FILE $ARCHDIR/$FILE_NAME
if [ $? -ne 0 ]
then
echo "Archiving error of the WAL $FILE on the master server" >> $LOG 2>&1
exit 1
fi
/usr/bin/rsync $FILE postgres@$SLAVE:$ARCHDIRDIST/$FILE_NAME
if [ $? -ne 0 ]
then
echo "Archiving error of the WAL $FILE on the slace server" >> $LOG 2>&1
exit 1
fi
/usr/bin/rsync $FILE barman@$BARMAN:$BARMAN_DIR/$FILE_NAME
then
echo "Archiving error of the WAL $FILE on the BARMAN server $BARMAN" >> $LOG 2>&1
exit 1
fi
-------------------------------------------------------------------------------------------
pg_switch_xlog手動強制切換段檔案
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26477398/viewspace-2122677/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Postgresql 備份與恢復SQL
- PostGreSql12.6的備份恢復SQL
- postgresql備份與恢復資料庫SQL資料庫
- 備份和恢復postgreSQL資料庫SQL資料庫
- PostgreSql資料庫的備份和恢復SQL資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- 【管理篇備份恢復】備份恢復基礎
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- 備份與恢復--利用備份的控制檔案恢復
- Mysql備份恢復MySql
- redis備份恢復Redis
- mysql 備份恢復MySql
- 備份和恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- PostgreSQL 的熱備和恢復SQL
- 【物理熱備】(下)備份恢復系統表空間 手工備份恢復
- 詳解叢集級備份恢復:物理細粒度備份恢復
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- 備份與恢復系列 十一 控制檔案的備份與恢復
- windwos server 路由備份和恢復 路由表備份和恢復Server路由
- 【備份恢復】資料恢復指導資料恢復
- Mysql備份與恢復(1)---物理備份MySql
- RMAN備份與恢復之加密備份加密
- Grafana 備份恢復教程Grafana
- redis 備份和恢復Redis
- Nifi flow 備份恢復Nifi
- 備份和恢復redisRedis
- MySQL備份與恢復MySql
- Oracle 備份恢復概念Oracle
- Xtrabackup備份恢復原理
- Mysql備份和恢復MySql
- oracle備份恢復PPTOracle
- mysqlbinlog 恢復、備份MySql
- RMAN備份恢復原理
- Oracle 備份和恢復Oracle
- ORACLE備份&恢復案例Oracle