如何删除 Postgres 中的非身份索引?

问题描述

继续PostgreSQL Large Table Logical Replication Infinite Sync,有完全相同的问题

但仍然找不到关于什么是非身份索引以及如何删除它们的信息。

解决方法

这将为您提供所有不支持主键的索引:

SELECT i.indexrelid::regclass
FROM pg_index AS i
   JOIN pg_class AS t ON i.indexrelid = t.oid
WHERE NOT t.relnamespace::regnamespace::text
         LIKE ANY ('{pg\_catalog,pg\_toast,information\_schema,pg\_temp%}')
  AND NOT i.indisprimary;
,

这个问题无关紧要,它能够解决基本问题: PostgreSQL Large Table Logical Replication Infinite Sync