pg_surgery 是一个 contrib 模块,提供用于对可能已损坏的数据执行纠正操作的工具。
pg_surgery 添加于 PostgreSQL 14。
重要提示:pg_surgery 提供了直接在正常操作上下文之外修改单个元组内部表示的函数,如果使用不当,可能会引入之前不存在的损坏。
因此,在使用这些函数时必须极其谨慎。如果您认为需要使用它们但又不确定如何使用,强烈建议寻求专业建议。
用法
截至 PostgreSQL 14,pg_surgery 提供了两个函数:
heap_force_kill()用于截断死元组heap_force_freeze()用于强制元组变为全部可见
未来版本可能会添加其他功能。
变更历史
- PostgreSQL 14
- 添加于(提交 34a947ca)
参考资料
- PostgreSQL文档: pg_surgery
有用链接
- PostgreSQL and Undelete - 2021年11月 Christoph Berg 关于 pg_dirtyread 和 pg_surgery 的博客文章
