準備:
main-pg
建立postgres使用者,能夠免密登入到backup-pg
backup-pg
建立postgres使用者
1) main-pg修改配置,開啟歸檔模式
不開啟,產生少量wal檔案
開啟,產生完整wal檔案
mkdir /home/postgres/archive_wals_hospitalname
mkdir /home/postgres/base_hospitalname
wal_level = replica
archive_mode = on
archive_command = 'scp %p postgres@backupip:/home/postgres/archive_wals_hospitalname/%f' 或(backip=depot.phmedtech.com或者ip)
重啟 systemctl status postgresql-11
驗證 postgres=# show archive_command ;
建立基本備份:
pg_basebackup -ft -pv -xf -z -z5 -d /home/postgres/base_hospitalname
pg_basebackup -d /home/postgres/base -ft -r -z -v
寫入一些資料,執行psql命令列下select pg_switch_wal();
檢查:ll /home/postgres/base_hospitalname
ll /home/postgres/archive_wals_hospitalname
將基本資料傳送到:
scp -r /home/postgres/base_hospitalname postgres@backupip:/home/postgres/base_hospitalname
往表中再插入10條資料,使得總資料為20:
insert into foo values(generate_series(1,10));
2) 停止backup-pg
mkdir /home/postgres/base_hospitalname
備份舊的資料目錄
mv /var/lib/pgsql/11/data /var/lib/pgsql/11/data.bak
mkdir /var/lib/pgsql/11/data && chmod 0700 /var/lib/pgsql/11/data
cd /var/lib/pgsql/11/data
mv /home/postgres/base_hospitalname/base.tar.gz /var/lib/pgsql/11/data
tar -zxvf /base.tar.gz
現在已經從備份中恢復了整個資料目錄,接下來,你需要部分或全部刪除資料目錄中的下列檔案,如果它們存在:
(1) postmaster.pid rm -rf postmaster.pid
(2) pg_wal中的檔案 rm -rf pg_wal
mkdir -p pg_wal/archive_status
cp /usr/pgsql-11/share/recovery.conf.sample /var/lib/pgsql/11/data/recovery.conf
vi /var/lib/pgsql/11/data/recovery.conf
修改 recovery.conf, 修改以下配置資訊:
restore_command = 'cp /home/postgres/archive_wals_hospitalname/%f %p'
recovery_target_timeline = 'latest' #最新的時間線
啟動backu-pg驗證。
postgres 定期備份shell
bin bash pg dump u postgres mobile home soft backup mobile.date y m d.h m s sql pg dump u postgres postgres home soft backup postgres.date y m d.h m s...
postgres 備份和恢復
1.開啟 cmd 2.cd c program files postgresql 9.2 bin 3.備份 僅結構 帶 drop pg dump u postgres c s f c postgres3.sql postgres 結構和資料 帶 drop pg dump u postgres c f...
Postgres流式備份(6)備份和恢復
定時維護,強制執行保留策略 wal檔案管理 barman如通過rpm安裝將自動新增定時配置檔案 etc cron.d barman,內容如下,設定每分鐘進行一次定時維護 m h dom mon dow user command barman x usr bin barman usr bin barm...