📜  PostgreSQL – 列出索引

📅  最后修改于: 2022-05-13 01:57:14.994000             🧑  作者: Mango

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;

输出: