Vorrei ottenere le colonne su cui si trova un indice in PostgreSQL.
In MySQL puoi usare SHOW INDEXES FOR tablee guardare la Column_namecolonna.
mysql> show indexes from foos;
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| foos | 0 | PRIMARY | 1 | id | A | 19710 | NULL | NULL | | BTREE | |
| foos | 0 | index_foos_on_email | 1 | email | A | 19710 | NULL | NULL | YES | BTREE | |
| foos | 1 | index_foos_on_name | 1 | name | A | 19710 | NULL | NULL | | BTREE | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Esiste qualcosa di simile per PostgreSQL?
Ho provato \dal psqlprompt dei comandi (con l' -Eopzione per mostrare SQL) ma non mostra le informazioni che sto cercando.
Aggiornamento: grazie a tutti coloro che hanno aggiunto le loro risposte. cope360 mi ha dato esattamente quello che stavo cercando, ma diverse persone sono intervenute con collegamenti molto utili. Per riferimenti futuri, consulta la documentazione di pg_index (via Milen A. Radev ) e l'articolo molto utile Estrarre informazioni META da PostgreSQL (via Michał Niklas ).