amcheck 是一个 contrib 模块,实现为一个 扩展,它提供函数来验证关系结构和 btree 索引的逻辑一致性。
amcheck 在 PostgreSQL 10 中添加。
用法
函数
截至 PostgreSQL 18,提供了以下函数:
bt_index_check()bt_index_parent_check()gin_index_check()verify_heapam()
命令行包装器
从 PostgreSQL 14 开始,核心实用程序 pg_amcheck 作为 amcheck 功能的命令行便捷包装器提供。
变更历史
- PostgreSQL 18
- 添加了
gin_index_check()函数(提交 14ffaece)
- 添加了
- PostgreSQL 17
- 添加了对检查唯一约束冲突的支持(提交 5ae20872)
- PostgreSQL 15
- PostgreSQL 14
- 添加了用于检查堆页的
verify_heapam()函数(提交 866e24d4)
- 添加了用于检查堆页的
- PostgreSQL 11
- 添加了属于
btree indexes的堆关系验证(提交 7f563c09)
- 添加了属于
- PostgreSQL 10
- 添加(提交 3717dc14)
通过外部仓库提供对 PostgreSQL 9.4 ~ PostgreSQL 9.6 的支持:amcheck/amcheck_next: functions for verifying PostgreSQL relation integriity。
参考资料
- PostgreSQL 文档: amcheck
有用链接
- amcheck: Verify the logical consistency of PostgreSQL B-Tree indexes - Peter Geoghegan 于 2016 年 5 月撰写的博客文章
