Список столбцов с индексами в PostgreSQL
Я хотел бы получить столбцы, по которым включен индекс в PostgreSQL.
В MySQL вы можете использоватьSHOW INDEXES FOR table
и посмотрите наColumn_name
колонка.
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 | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Существует ли что-нибудь подобное для PostgreSQL?
я пробовал\d
наpsql
командная строка (с-E
возможность показать SQL), но он не показывает информацию, которую я ищу.
Обновить: Спасибо всем, кто добавил свои ответы.cope360 дал мне именно то, что я искал, но несколько человек вмешались с очень полезными ссылками. Для дальнейшего использования ознакомьтесь с документацией дляpg_index (с помощьюМилен А. Радев) и очень полезная статьяИзвлечение информации META из PostgreSQL (с помощьюМихал Никлас).