Я хотел бы получить столбцы, в которых указатель включен в 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 (через Michał Niklas).