当前位置: 首页 > 工具软件 > PgBackRest > 使用案例 >

postgresql之pgbackrest备份恢复

唐昊焜
2023-12-01

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
 类似资料: