我想获取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的文档(通过Milen A. Radev)和非常有用的文章从PostgreSQL提取META信息(通过MichałNiklas)。