【问题标题】:How to list indexes created for table in postgres如何列出为 postgres 中的表创建的索引
【发布时间】:2016-09-16 16:59:29
【问题描述】:

您能告诉我如何检查在 postgresql 中为某个表创建了哪些索引吗?

【问题讨论】:

    标签: postgresql indexing psql


    【解决方案1】:

    您可以在 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 表名;

    【讨论】:

      【解决方案2】:

      你可以使用这个查询:

      select tablename,indexname,tablespace,indexdef from pg_indexes where tablename = 'your_table_name';

      tablenamepg_indexes 中的一个字段,您可以通过匹配 'your_table_name 处的用户定义表来获得准确的索引' 在 WHERE 子句中。这将为您提供所需的详细信息。

      【讨论】:

        【解决方案3】:

        如果你在 psql 中,那么:

        \d tablename
        

        显示索引、外键和引用...

        【讨论】:

          【解决方案4】:

          视图pg_indexes 提供对数据库中每个索引的有用信息的访问,例如。

          select *
          from pg_indexes
          where tablename not like 'pg%';
          

          【讨论】:

            猜你喜欢
            • 2022-01-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-12-01
            • 2020-06-10
            • 2013-07-22
            • 1970-01-01
            相关资源
            最近更新 更多