Heim >Datenbank >MySQL-Tutorial >Wie rufe ich indizierte Spalten in PostgreSQL ab?

Wie rufe ich indizierte Spalten in PostgreSQL ab?

Barbara Streisand
Barbara StreisandOriginal
2024-12-28 11:33:46626Durchsuche

How to Retrieve Indexed Columns in PostgreSQL?

Indizierte Spalten in PostgreSQL abrufen

Um die in PostgreSQL indizierten Spalten abzurufen, können Sie die folgende Abfrage verwenden:

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';

Um die Ergebnisse weiter nach Index zusammenzufassen, verwenden Sie dies Abfrage:

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;

Zusätzliche Ressourcen für die PostgreSQL-Metainformationsextraktion:

  • [pg_index](https://www.postgresql.org/docs /current/static/view-pg-index.html)
  • ["Extrahieren von META-Informationen aus PostgreSQL"](https://www.depesz.com/2007/08/12/extracting-meta-information-from-postgresql/)

Das obige ist der detaillierte Inhalt vonWie rufe ich indizierte Spalten in PostgreSQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn