您能告诉我如何检查在 postgreql 中为某个表创建了哪些索引吗?
视图 Pg _ index提供对数据库中每个索引的有用信息的访问,例如。
select * from pg_indexes where tablename not like 'pg%';
如果你在 psql,那么:
\d tablename
显示索引、外键和引用..。
您可以使用以下查询:
select tablename,indexname,tablespace,indexdef from pg_indexes where tablename = 'your_table_name';
select tablename,indexname,tablespace,indexdef from pg_indexes where tablename = 'your_table_name'
其中的 表名是 Pg _ index中的一个字段,您可以通过在 哪里子句的‘ Your _ table _ name ’处匹配用户定义的表来获得准确的索引。这将为您提供所需的详细信息。
您可以在 Pg _ index视图中找到所有与索引相关的信息。有时表是某个模式/所有者的一部分,或者可能位于 PostgreSQL 重命名表中,则会更改表名。因此,首先找出谁是表的所有者,然后查询表上的索引。
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;