PostgreSQL – 列出索引
在 PostgreSQL 中,我们使用pr_indexes 视图来列出数据库的索引。 PostgreSQL没有提供类似 SHOW INDEXES 的命令来列出表或数据库的索引信息。如果使用 psql 访问 PostgreSQL 数据库,则可以使用 \d命令查看表的索引信息。
使用pg_indexes视图
该pg_indexes 视图允许您访问有关 PostgreSQL 数据库中每个索引的有用信息。该pg_indexes 视图由五列组成:
- schemaname:存储包含表和索引的模式的名称。
- tablename:存放索引所属表的名称。
- indexname:存储索引的名称。
- 表空间:存储包含索引的表空间的名称。
- indexdef:以CREATE INDEX语句的形式存储索引定义命令。
示例 1:
以下语句列出了当前数据库中public模式的所有索引:
SELECT
tablename,
indexname,
indexdef
FROM
pg_indexes
WHERE
schemaname = 'public'
ORDER BY
tablename,
indexname;
输出:
示例 2:
以下语句列出了客户的所有索引 表,您使用以下语句:
SELECT
indexname,
indexdef
FROM
pg_indexes
WHERE
tablename = 'customer';
输出:
使用 psql 命令
以下语法用于使用 psql 命令列出表的所有索引:
Syntax: \d table_name;
示例 1:
这里我们将示例数据库的customer表的所有索引列出如下:
\d customer;
输出:
示例 2:
这里我们将示例数据库的film表的所有索引列出如下:
\d film;
输出: