POSTGRESQL 中如果你的表文件有损坏,则在查询中会直接告诉你某些文件缺失,你无法对这个表进行查询,或操作. 如果是索引可能就没有这么的简单了.
?...当一个索引文件有问题的情况下,会遇到什么情况
1 查询的时候明明有索引,但查询的时候大部分情况走全表扫描
2 通过pg_stat_user_tables可以看到 idx_scan 明显比 seq_scan...而此时会有一个问题,就是INDEX 和 数据是一体的,到底是数据损坏还是索引损坏的问题....要验证这个问题,有一个比较笨的方法,就是通过pg_dump的方式把表导出,如果这个表被导出的情况下,则证明表的索引已经损坏了....如果觉得这样的操作对于大表不是太合理,可以通过查询 explain analyze 的方式来进行,查看查询中的数据结果是否一致.