1、安装pgbackrest
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install epel-release -y
yum install pgbackrest -y
pgbackrest version
2、创建存储库
mkdir -p /data/pg_backup/pgbackrest
chmod -R 750 /data/pg_backup/pgbackrest/
mkdir -p /data/pg_backup/log/pgbackrest
chown postgres:postgres /data/pg_backup/log/pgbackrest/
chmod -R 700 /data/pg_backup/log/pgbackrest/
3、设置归档模式
vi $PGDATA/postgresql.auto.conf
...
archive_mode = on
archive_command = 'pgbackrest --stanza=demo archive-push %p'
wal_level = replica
重启数据库
pg_ctl -D /home/postgresql/data -l /home/postgresql/data/logfile restart
4、配置pgbackrest.conf
vi /etc/pgbackrest.conf
[global]
repo-path=/data/pg_backup/pgbackrest/
backup-user=postgres
retention-full=2
retention-diff=2
process-max=3
log-path=/data/pg_backup/log/pgbackrest
[demo]
pg1-path=/home/postgresql/data
pg1-host-port=22
pg1-host-user=postgres
pg1-port=5432
pg1-user=postgres
5、创建存储目录
创建存储空间
pgbackrest --stanza=demo --log-level-console=info stanza-create
检查配置
pgbackrest --stanza=demo --log-level-console=info check
6、备份
执行全量备份
pgbackrest --stanza=demo --log-level-console=info backup
--type参数指定备份的类型为增量还是差异备份
差异备份
pgbackrest --stanza=demo --log-level-console=info --type=diff backup
增量备份
pgbackrest --stanza=demo --log-level-console=info --type=incr backup
7、查看备份信息
pgbackrest info
8、恢复
停掉数据库
pg_ctl -D /home/postgresql/data -l /home/postgresql/data/logfile stop
mv /home/postgresql/data /home/postgresql/data.BAK
恢复
pgbackrest --stanza=demo restore --delta --log-level-console=detail