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!