Я хотів би отримати стовпці, на яких індекс знаходиться в 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 ).