暂无图片
分享
yBmZlQzJ
2024-02-08
PostgreSQL备份恢复(pg_probackup步骤

RT

收藏
分享
2条回答
默认
最新
星星之火

提供增量备份,增量备份一定程度上可以节省磁盘空间的使用并且减少备份时间消耗
可通过全量备份+增量备份进行增量恢复
无需通过实际的数据恢复操作验证备份文件是否有效
可以通过设置恢复时间以及备份最大文件数来进行备份文件以及WAL归档日志的保留策略
对于backup、restore、merge、delete、validate、checkdb操作都可开启并发线程执行
提供压缩备份以节省磁盘空间
可对远程实例进行备份恢复
可从standby实例进行备份
对于PGDATA外的目录数据(如:脚本、日志转储、sql dump 文件等),可使用参数额外指定进行备份
可查看已备份数据备份以及归档的列表以及相关详细信息
支持部分还原(还原部分数据库)
太长了 不复制了

暂无图片 评论
暂无图片 有用 7
暂无图片
浮光墨影

1.备份
1.1全量备份
安装pg_probackup工具;

执行全量备份:

pg_probackup backup --dbname=<连接字符串> --wal-method=delta --backup-mode=full --target-dir=<备份目录>
这里 <连接字符串> 是用于连接到PostgreSQL数据库的连接参数,如 host=localhost port=5432 user=postgres dbname=mydb,而 <备份目录> 是你想要存储备份文件的地方。

1.2增量备份
执行增量备份(基于上一次全量或增量备份):
shell

pg_probackup backup --dbname=<连接字符串> --wal-method=delta --backup-mode=incremental --target-dir=<备份目录> --last-lsn=<上次备份LSN>
上次备份的LSN(Log Sequence Number)可以从之前的备份记录中获取。
2. 恢复
2.1全量恢复
先停止目标数据库实例服务。

准备恢复的目标数据目录(确保该目录为空或者为新的、未使用的数据目录)。

执行全量备份恢复:

pg_probackup restore --target-pgdata=<目标数据目录> --backup-id=<全量备份ID> --link-map=<链接映射文件> --verbose
其中 <全量备份ID> 是要恢复的全量备份的唯一标识符。

2.2增量恢复
如果需要进一步应用增量备份,继续执行增量恢复命令,并指定相应的备份ID和LSN范围。

启动PostgreSQL数据库服务。

验证数据库是否成功恢复并能正常运行。

暂无图片 评论
暂无图片 有用 4
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏