Je voudrais obtenir les colonnes d'index qui est sur PostgreSQL.
Dans MySQL, vous pouvez utiliser SHOW INDEXES FOR table
et de regarder le Column_name
colonne.
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 | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Est ce que quelque chose comme cela existe pour PostgreSQL?
J'ai essayé d' \d
à la psql
invite de commande (avec l' -E
option pour afficher SQL), mais il n'affiche pas les informations que je cherche.
Mise à jour: Merci à tous ceux qui ont ajouté leurs réponses. cope360 m'a donné exactement ce que je cherchais, mais plusieurs personnes se sont mises à sonner avec très liens utiles. Pour référence future, consultez la documentation de pg_index (via A. Milen Radev) et l'article très utile Extraction des MÉTA-données de PostgreSQL (par Michał Niklas).