PostgreSQL

Unused indexes consume space and write I/O without providing benefit

info
performanceUpdated Sep 11, 2025
Technologies:
How to detect:

Indexes with idx_scan = 0 are never used for queries but consume disk space and require write I/O for every INSERT/UPDATE/DELETE on the table. A table with 10 indexes requires 11 physical writes for each INSERT.

Recommended action:

Query pg_stat_user_indexes to identify indexes with idx_scan = 0. Verify these indexes are truly unused (not just during monitoring period). Drop unused indexes to reduce write overhead. Monitor impact on write performance after removal.