Starting from PostgreSQL 10, the amcheck module is available. The amcheck module provides functions that allow you to verify the logical consistency of the structure of indexes. If the structure appears to be valid, no error is raised. You can find it at https://www.postgresql.org/docs/10/static/amcheck.html.
With this module, you can check the following:
- Structural inconsistencies caused by incorrect operator class implementations
- Corruption caused by hypothetical undiscovered bugs in the underlying
- PostgreSQL access method code or sort code
- Filesystem or storage subsystem faults where checksums happen to be simply not enabled
- Corruption caused by faulty RAM, and the broader memory subsystem and operating system
Let's use it now:
pgbench=# create extension amcheck ; CREATE EXTENSION SELECT bt_index_check(c.oid), c.relname, c.relpages FROM pg_index...