ホームページ > データベース > mysql チュートリアル > PostgreSQLでインデックス付き列を取得するにはどうすればよいですか?

PostgreSQLでインデックス付き列を取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-28 11:33:46
オリジナル
597 人が閲覧しました

How to Retrieve Indexed Columns in PostgreSQL?

PostgreSQL のインデックス付き列の取得

PostgreSQL 内でインデックス付きの列を取得するには、次のクエリを利用できます。

SELECT
    t.relname AS table_name,
    i.relname AS index_name,
    a.attname AS column_name
FROM
    pg_class t,
    pg_class i,
    pg_index ix,
    pg_attribute a
WHERE
    t.oid = ix.indrelid
    AND i.oid = ix.indexrelid
    AND a.attrelid = t.oid
    AND a.attnum = ANY(ix.indkey)
    AND t.relkind = 'r';
ログイン後にコピー

インデックスごとに結果をさらに集計するには、これを使用しますクエリ:

SELECT
    t.relname AS table_name,
    i.relname AS index_name,
    array_to_string(array_agg(a.attname), ', ') AS column_names
FROM
    pg_class t,
    pg_class i,
    pg_index ix,
    pg_attribute a
WHERE
    t.oid = ix.indrelid
    AND i.oid = ix.indexrelid
    AND a.attrelid = t.oid
    AND a.attnum = ANY(ix.indkey)
    AND t.relkind = 'r'
GROUP BY
    t.relname,
    i.relname;
ログイン後にコピー

PostgreSQL メタ情報抽出に関する追加リソース:

  • [pg_index](https://www.postgresql.org/docs /current/static/view-pg-index.html)
  • ["抽出中PostgreSQL からの META 情報"](https://www.depesz.com/2007/08/12/extracting-meta-information-from-postgresql/)

以上がPostgreSQLでインデックス付き列を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート