Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Lajur yang Berkaitan dengan Indeks dalam PostgreSQL?
Dalam PostgreSQL, mendapatkan semula lajur yang sepadan dengan indeks berbeza daripada perintah SHOW INDEXES MySQL.
Untuk mendapatkan maklumat yang dikehendaki dalam PostgreSQL, gunakan yang berikut pertanyaan:
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%';
Pertanyaan ini mendapatkan semula nama jadual dan indeks bersama-sama dengan nama lajur yang berkaitan. Untuk mendapatkan maklumat lanjut, pertanyaan boleh diubah suai untuk mengagregatkan nama lajur:
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;
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Lajur yang Berkaitan dengan Indeks dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!