Ich möchte die Spalten erhalten, in denen sich ein Index in PostgreSQL befindet.
In MySQL können Sie SHOW INDEXES FOR table
die Column_name
Spalte verwenden und betrachten .
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 | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Gibt es so etwas für PostgreSQL?
Ich habe es \d
an der psql
Eingabeaufforderung versucht (mit der -E
Option, SQL anzuzeigen), aber es werden nicht die Informationen angezeigt, nach denen ich suche.
Update: Vielen Dank an alle, die ihre Antworten hinzugefügt haben. Cope360 gab mir genau das, wonach ich suchte, aber mehrere Leute mischten sich mit sehr nützlichen Links ein. Weitere Informationen finden Sie in der Dokumentation zu pg_index (über Milen A. Radev ) und im sehr nützlichen Artikel Extrahieren von META-Informationen aus PostgreSQL (über Michał Niklas ).