1

Postgresql 9.1 を使用して、WAL アーカイブおよびストリーミング レプリケーションをウォーム スタンバイ サーバーにセットアップしています。

Postgresql のドキュメントには次のように記載されています。

ハッシュ インデックスの操作は現在 WAL ログに記録されていないため、リプレイはこれらのインデックスを更新しません。これは、新しい挿入はインデックスによって無視され、更新された行は明らかに消え、削除された行は引き続きポインターを保持することを意味します。つまり、ハッシュ インデックスを含むテーブルを変更すると、スタンバイ サーバーで不適切なクエリ結果が得られます。リカバリが完了したら、リカバリ操作の完了後にそのような各インデックスを手動で REINDEX することをお勧めします。

特定のデータベースにハッシュ インデックスが含まれているかどうかを調べるにはどうすればよいですか?

4

1 に答える 1

2

pg_classpg_amをチェックして、ハッシュ メソッドを使用してインデックスを見つけます。

SELECT  *
FROM    pg_class
    JOIN pg_am ON pg_am.oid = relam
WHERE   relkind = 'i'
AND     amname = 'hash';
于 2015-02-28T07:23:32.867 に答える