Chciałbym uzyskać kolumny, w których znajduje się indeks w PostgreSQL.
W MySQL możesz używać SHOW INDEXES FOR table
i przeglądać Column_name
kolumnę.
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 | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Czy coś takiego istnieje dla PostgreSQL?
Próbowałem \d
w psql
wierszu polecenia (z -E
opcją pokazania SQL), ale nie wyświetla informacji, których szukam.
Aktualizacja: Dziękujemy wszystkim, którzy dodali swoje odpowiedzi. cope360 dał mi dokładnie to, czego szukałem, ale kilka osób zaglądało z bardzo przydatnymi linkami. Do wykorzystania w przyszłości zajrzyj do dokumentacji pg_index (przez Milena A. Radeva ) i bardzo przydatnego artykułu Ekstrakcja informacji META z PostgreSQL (przez Michała Niklasa ).