暂无图片
postgreSQL barman是物理备份,没法进行单个表的恢复吧?
我来答
分享
暂无图片 匿名用户
postgreSQL barman是物理备份,没法进行单个表的恢复吧?

postgreSQL barman是物理备份,没法进行单个表的恢复吧?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
刘贵宾

在 Barman 中进行单个表的恢复需要经过以下几个步骤:

1、确定需要恢复的表所在的数据库以及备份集的时间点。可以使用 barman list-backup <server> 命令查看备份集列表,使用 barman show-backup <server> <backup-id> 命令查看备份集详细信息,例如备份集包含的数据库名称和备份时间等。

2、从备份集中还原数据库簇到指定的时间点。可以使用 barman recover <server> <backup-id> <target-directory> 命令将备份集还原到指定的目录中。在还原过程中,需要指定 --remote-ssh-command 参数来指定 SSH 命令,以便 Barman 可以连接到远程 PostgreSQL 服务器。

3、创建一个临时数据库,用于从还原的数据库中提取需要恢复的表。可以使用 createdb 命令创建一个空数据库。

4、使用 pg_restore 工具将还原的数据库导出到临时数据库中。可以使用 pg_restore 命令的 -t 参数指定需要恢复的表,例如 pg_restore -t mytable -d tempdb <backupfile>。

5、将恢复的表从临时数据库中导出到目标数据库。可以使用 pg_dump 命令将恢复的表导出到一个 SQL 文件中,然后使用 psql 命令将该文件导入到目标数据库中。

需要注意的是,这种方法适用于恢复少量的数据,如果需要恢复大量的数据,可能需要使用其他工具和方法来实现,例如使用 PITR(Point-in-Time Recovery)或 PostgreSQL 中的逻辑备份工具如 pg_dump。

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