Postgresql之備份軟體
阿新 • • 發佈:2021-08-07
wal-g
-
./wal-g backup-push /home/highgo/pgdata/pg_wal/ --config=/home/highgo/wal-g/walg.json
{ "AWS_ACCESS_KEY_ID":"AKIAIOSFODNN7EXAMPLE", "AWS_SECRET_ACCESS_KEY":"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "AWS_ENDPOINT":"http://127.0.0.1:9000", "AWS_S3_FORCE_PATH_STYLE":"true", "WALG_S3_PREFIX":"s3://test/new", "PGUSER":"postgres", "PGPASSWORD":"123456" }
-
SELECT case when pg_is_in_recovery() then '' else (pg_walfile_name_offset(lsn)).file_name end, lsn::text, pg_is_in_recovery() FROM pg_start_backup($1, true, false) lsn
pg_dump
- 只能備份單個數據庫,不會匯出角色和表空間相關的資訊
-F c 備份為二進位制格式 壓縮儲存
-F p 備份為文字
pg_dump恢復
- psql dbname -U username < bakfile
- pg_restore pg_restore -d dbname bakfile
pg_dumpall
- 使用SQL指令碼進行備份 可以備份角色跟表空間
- --globals-only 只備份表空間跟角色 不備份表資料
- --roles-only 只備份 角色
pgbasebackUp
- 全量備份 備份整個data目錄
- -D directory 備份的目錄
- -X method 備份的方式
- fetch(在備份末尾收集事務日誌檔案。)
- stream(在備份被建立時流傳送事務日誌。)
- -P 啟用進度報告
- -F 輸出格式
- p 平面檔案
- t tar包
- 示例:pg_basebackup -D $PGDATA -F p -X stream -v -P -h 192.168.3.201 -p 5431 -U rep
pg_rewind
- -D 目錄
- --target-pgdata=目錄 該選項指定與源同步的目標資料目錄。
- --source-pgdata=目錄指定源伺服器的資料目錄的路徑,以使目標資料目錄與之同步。當—source-pgdata被使用時,源伺服器必須被關閉。
- --source-server=連線字串 指定一個libpq連線字串以連線到源PostgreSQL伺服器來使目標同步。伺服器必須開啟並允許,並且不能處於恢復模式。
版權宣告:本文為博主原創文章,轉載請註明出處!