如何在 postgres 中列出为 table 创建的索引
How to list indexes created for table in postgres
你能告诉我如何检查在 postgresql 中为某些 table 创建了哪些索引吗?
视图 pg_indexes 提供对数据库中每个索引的有用信息的访问,例如
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'
;
其中 tablename 是 pg_indexes 中的一个字段,您可以通过以下方式获得准确的索引匹配用户定义的 table at 'your_table_name' at WHERE clause 。这将为您提供所需的详细信息。
您可以在pg_indexes视图中找到所有索引相关信息。有时 table 是某些模式/所有者的一部分,或者可能在 PostgreSQL Rename Table 中会更改 table 名称。所以首先找出谁是 table 的所有者,然后在 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;
你能告诉我如何检查在 postgresql 中为某些 table 创建了哪些索引吗?
视图 pg_indexes 提供对数据库中每个索引的有用信息的访问,例如
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'
;
其中 tablename 是 pg_indexes 中的一个字段,您可以通过以下方式获得准确的索引匹配用户定义的 table at 'your_table_name' at WHERE clause 。这将为您提供所需的详细信息。
您可以在pg_indexes视图中找到所有索引相关信息。有时 table 是某些模式/所有者的一部分,或者可能在 PostgreSQL Rename Table 中会更改 table 名称。所以首先找出谁是 table 的所有者,然后在 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;