在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数据库的方法。根据实际需求选择合适的备份方式,并确保在执行备份和恢复操作时具有适当的权限。