PG误操作恢复工具之pg_recovery插件

0    605    2

Tags:

👉 本文共约1329个字,系统预计阅读时间或需5分钟。

简介

pg_recovery 是一款 PostgreSQL 数据找回工具。可以恢复 COMMIT / DELETE / UPDATE / ROLLBACK / DROP COLUMN 操作后导致的数据变化,并以表的形式返回。安装方便,操作简单。仓库地址:

https://github.com/radondb/pg_recovery

安装

若报权限不足,例如“/bin/install: cannot create regular file ‘/usr/pgsql-14/lib/pg_recovery.so’: Permission denied”,则可以使用root用户编译:

初始化插件成功,返回如下信息。

安装过程:

示例

init data

准备一个表和一些数据。

recovery update

对数据进行变更操作,不加 WHERE 条件。

recovery delete

尝试恢复 DELETE 的数据。

recovery rollback

尝试恢复回滚操作之前的数据。

recovery drop column

尝试恢复表中被删除的列及数据。

show all data

显示该表历史上所有写入过的数据。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

注意事项

支持的 PostgreSQL 版本

目前 pg_revovery工具已支持 PostgreSQL 12/13/14 。

可恢复事务数

PostgreSQL 通过参数 vacuum_defer_cleanup_age 值大小,可限制可恢复的事务数。如果预期需要恢复的数据量较大,可通过配置参数值,提高可恢复的事务数。

pg_recovery 通过读取 PostgreSQL dead 元组来恢复不可见的表数据。如果元组被 vacuum 清除掉,那么 pg_recovery 便不能恢复数据。

锁请求

pg_recovery 使用期间,支持正常的读表的锁请求。此外 pg_recovery未使用期间,不会对数据库造成任何额外的开销或是影响,无需暂停服务。

安装报错处理

1、若PG数据库是yum安装的,则在安装pg_recovery会报错:

解决:需要安装依赖包postgresql14-devel

以上包安装成功后再安装pg_recovery即可。

类似工具

其它误操作恢复的文章参考:

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部