The amcheck module
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 i
JOIN pg_opclass op ON i.indclass[0] = op.oid
JOIN pg_am am ON op.opcmethod = am.oid
JOIN pg_class c ON i.indexrelid = c...