PostgreSQL でのインデックス付きカラム情報の取得
MySQL では、SHOW INDEXES コマンドを使用して、特定のインデックス付きカラムを取得できます。テーブル。ただし、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' AND t.relname LIKE 'test%';
このクエリは、pg_class テーブル (テーブルに関する情報が含まれる)、pg_index テーブル (インデックスに関する情報が含まれる)、および pg_attribute テーブル (テーブル列に関する情報が含まれる)。次に、結果をフィルタリングして、特定のテーブル (この例では、名前が「test」で始まるテーブル) のインデックスのみを含めます。
このクエリの出力は、インデックス名と列のリストになります。
要約すると、MySQL にはインデックス付きカラム情報を取得するための専用コマンドがありますが、PostgreSQL には複数のテーブル結合を含むより複雑なクエリが必要です。それにもかかわらず、提供されたクエリはタスクを効率的に実行できます。
以上がPostgreSQL でインデックス付き列情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。