在CentOS上備份和恢復PostgreSQL數據庫主要有兩種方法:邏輯備份和物理備份。以下是詳細的步驟和命令示例。
邏輯備份使用pg_dump
和pg_dumpall
命令,適用于備份單個數據庫或整個實例。
pg_dump
備份pg_dump -h hostname -U username -p port -d database -F t -f output_file
-h
: 數據庫服務器地址-U
: 連接用戶名-p
: 端口號-d
: 數據庫名稱-F t
: 輸出格式為自定義格式-f
: 輸出文件名pg_dumpall
備份pg_dumpall -h hostname -U username -p port -f output_file
-h
: 數據庫服務器地址-U
: 連接用戶名-p
: 端口號-f
: 輸出文件名使用pg_restore
命令恢復數據。
pg_restore -h hostname -U username -p port -d database input_file
-h
: 數據庫服務器地址-U
: 連接用戶名-p
: 端口號-d
: 數據庫名稱input_file
: 備份文件路徑。物理備份通過復制數據庫的物理文件(數據文件和WAL日志)來實現。
pg_basebackup
進行物理備份pg_basebackup -h hostname -U username -p port -d database -F t -f output_file
-h
: 數據庫服務器地址-U
: 連接用戶名-p
: 端口號-d
: 數據庫名稱-F t
: 輸出格式為自定義格式-f
: 輸出文件名pg_basebackup -h hostname -U username -p port -d database -R
-h
: 數據庫服務器地址-U
: 連接用戶名-p
: 端口號-d
: 數據庫名稱-R
: 恢復模式。Barman是一個用于PostgreSQL的備份和恢復工具,支持物理備份和時間點恢復。
wget https://download.2ndquadrant.com/barman/barman-2.18.0.linux-x64.tar.gz
tar xzf barman-2.18.0.linux-x64.tar.gz
cd barman
./configure
make
sudo make install
編輯/etc/barman.conf
文件,配置備份目標目錄和其他選項。
[global]
backup_dir = /var/lib/barman/backups
log_level = INFO
log_file = /var/log/barman/barman.log
barman create mydb /path/to/backup/directory
barman restore mydb /path/to/backup/directory
```。
以上就是在CentOS上備份和恢復PostgreSQL數據庫的方法。根據實際需求選擇合適的備份方式,并確保在執行備份和恢復操作時具有適當的權限。