更新时间:2024-06-29 GMT+08:00

PG_INDEXES

PG_INDEXES视图提供对数据库中每个索引的有用信息的访问。

表1 PG_INDEXES字段

名称

类型

引用

描述

schemaname

name

PG_NAMESPACE.nspname

包含表和索引的模式名。

tablename

name

PG_CLASS.relname

此索引所服务的表名。

indexname

name

PG_CLASS.relname

索引名。

tablespace

name

PG_TABLESPACE.spcname

包含索引的表空间名称。

indexdef

text

-

索引定义(一个重建的CREATE INDEX命令)。

应用示例

查询指定表的索引信息。

1
2
3
4
5
SELECT * FROM pg_indexes WHERE tablename = 'mytable';
 schemaname | tablename |   indexname    | tablespace |                                   indexdef
------------+-----------+----------------+------------+-------------------------------------------------------------------------------
 public     | mytable   | idx_mytable_id |            | CREATE INDEX idx_mytable_id ON mytable USING btree (id) TABLESPACE pg_default
(1 row)

查询当前数据库指定模式下所有表的索引信息。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
SELECT tablename, indexname, indexdef FROM pg_indexes WHERE schemaname = 'public' ORDER BY tablename,indexname;
 tablename |     indexname      |                                              indexdef
-----------+--------------------+-----------------------------------------------------------------------------------------------------
 books     | books_pkey         | CREATE UNIQUE INDEX books_pkey ON books USING btree (id) TABLESPACE pg_default
 books     | idx_books_tags_gin | CREATE INDEX idx_books_tags_gin ON books USING gin (tags) TABLESPACE pg_default
 customer  | c_custkey_key      | CREATE UNIQUE INDEX c_custkey_key ON customer USING btree (c_custkey, c_name) TABLESPACE pg_default
 mytable   | idx_mytable_id     | CREATE INDEX idx_mytable_id ON mytable USING btree (id) TABLESPACE pg_default
 test1     | idx_test_id        | CREATE INDEX idx_test_id ON test1 USING btree (id) TABLESPACE pg_default
 v0        | v0_pkey            | CREATE UNIQUE INDEX v0_pkey ON v0 USING btree (c) TABLESPACE pg_default
(6 rows)