Heim >Datenbank >MySQL-Tutorial >Wie rufe ich mit Indizes verknüpfte Spalten in PostgreSQL ab?
In PostgreSQL unterscheidet sich das Abrufen der einem Index entsprechenden Spalten vom MySQL-Befehl SHOW INDEXES.
Zu erhalten Um die gewünschten Informationen in PostgreSQL zu erhalten, verwenden Sie Folgendes Abfrage:
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%';
Diese Abfrage ruft die Tabellen- und Indexnamen zusammen mit den zugehörigen Spaltennamen ab. Für weitere Erkenntnisse kann die Abfrage so geändert werden, dass die Spaltennamen aggregiert werden:
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' and t.relname like 'test%' group by t.relname, i.relname order by t.relname, i.relname;
Das obige ist der detaillierte Inhalt vonWie rufe ich mit Indizes verknüpfte Spalten in PostgreSQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!