你能告诉我如何检查postgresql中为某些表创建的索引吗?
答案 0 :(得分:40)
视图pg_indexes提供对数据库中每个索引的有用信息的访问,例如
select *
from pg_indexes
where tablename not like 'pg%';
答案 1 :(得分:26)
如果你在psql中,那么:
\d tablename
显示索引,外键和引用...
答案 2 :(得分:1)
您可以使用以下查询:
select tablename,indexname,tablespace,indexdef from pg_indexes where tablename = 'your_table_name'
;
其中表名是 pg_indexes 中的字段,您可以通过匹配用户定义的表' your_table_name 来获得准确的索引”位于 WHERE 子句中。这将为您提供所需的详细信息。
答案 3 :(得分:0)
where tablename是pg_indexes中的一个字段,通过匹配where子句中'your_table_name'处的用户定义表,您可以获得准确的索引。
从pg_indexes中选择表名,索引名,表空间,indexdef,其中表名='your_table_name';
答案 4 :(得分:0)
您可以在pg_indexes视图中找到所有与索引相关的信息。有时表是某个架构/所有者的一部分,或者可能在 PostgreSQL Rename Table 中会更改表名。所以首先找出谁是表的所有者,然后在表上查询索引。
select schemaname, tablename from pg_tables where tablename='TEST'; select tablename,indexname from pg_indexes where tablename='TEST'; or select * from pg_indexes where tablename='SCHEMA_NME.TABLE_NAME'; **You can also use \d:** \d table_name;