ハッシュ関数は、原理上、異なる複数のキーに対して、同じHash値を結果として返すことが起こり得ます*1。そのため、Hashインデックスを用いた検索では、インデックスを用いた検索の後に、再度検索結果の正当性を確認する処理(Recheck処理と呼ばれます)を行います。 PostgreSQL 10での改善点 PostgreSQLは古くからHashインデックスをサポートしています。しかし、バージョン9.6までのHashインデックスはWAL(トランザクションログ)に未対応だったため、データの永続性の問題や、ストリーミングレプリケーションとの相性の悪さなど、さまざまな問題を抱えていました。そのため、PostgreSQLの公式ドキュメント*2でも以下のようにHashインデックスの利用は推奨されていませんでした。 現在ハッシュインデックス操作はWALに記録されません。そのため、データベースクラッシュの後ハ