【发布时间】:2016-09-16 16:59:29
【问题描述】:
您能告诉我如何检查在 postgresql 中为某个表创建了哪些索引吗?
【问题讨论】:
标签: postgresql indexing psql
您能告诉我如何检查在 postgresql 中为某个表创建了哪些索引吗?
【问题讨论】:
标签: postgresql indexing psql
您可以在 pg_indexes 视图中找到所有与索引相关的信息。有时表是某些架构/所有者的一部分,或者可能在PostgreSQL Rename Table 中会更改表名。所以先找出谁是表的所有者,然后查询表上的索引。
select schemaname, tablename from pg_tables where tablename='TEST'; select tablename,indexname from pg_indexes where tablename='TEST'; 要么 select * from pg_indexes where tablename='SCHEMA_NME.TABLE_NAME'; **您也可以使用 \d:** \d 表名;【讨论】:
你可以使用这个查询:
select tablename,indexname,tablespace,indexdef from pg_indexes where tablename = 'your_table_name';
tablename 是 pg_indexes 中的一个字段,您可以通过匹配 'your_table_name 处的用户定义表来获得准确的索引' 在 WHERE 子句中。这将为您提供所需的详细信息。
【讨论】:
如果你在 psql 中,那么:
\d tablename
显示索引、外键和引用...
【讨论】:
视图pg_indexes 提供对数据库中每个索引的有用信息的访问,例如。
select *
from pg_indexes
where tablename not like 'pg%';
【讨论】: