1

PostgreSQL で作成済みのインデックスで使用されている演算子クラスを知るにはどうすればよいですか?

4

1 に答える 1

3

システム カタログを照会できます。
複数列のインデックスには、複数の演算子クラスが存在する場合があります。

SELECT opcname
FROM  (
   SELECT unnest(indclass) AS ind_op
   FROM   pg_index
   WHERE  indexrelid = 'index_schema.index_name'::regclass
   ) i 
JOIN   pg_opclass o ON o.oid = i.ind_op;

indclassoidvector配列のようにネストを解除できる型です。このようにして、複数列のインデックスに対して複数の行を取得します。マニュアルのカタログ テーブルの詳細については、ここここを参照してください。

index_schemaが含まれている場合search_path(インデックス名が重複している場合は最初に来る場合)、名前をスキーマ修飾する必要はありません。

于 2012-09-11T12:11:35.247 に答える