如何查看表的所有现有索引?例如给定表mytable
,如何使用适当的列查看他的每个索引?
答案 0 :(得分:2)
试试这个SQL
SELECT * FROM pg_indexes WHERE tablename = 'mytable';
答案 1 :(得分:1)
在psql
中使用\d
命令:
postgres=> create table foo (id integer not null primary key, some_data varchar(20)); CREATE TABLE postgres=> create index foo_data_idx on foo (some_data); CREATE INDEX postgres=> \d+ foo Table "public.foo" Column | Type | Modifiers | Storage | Stats target | Description -----------+-----------------------+-----------+----------+--------------+------------ id | integer | not null | plain | | some_data | character varying(20) | | extended | | Indexes: "foo_pkey" PRIMARY KEY, btree (id) "foo_data_idx" btree (some_data) Has OIDs: no postgres=>
其他SQL工具还有其他显示此信息的方法。