如果我删除带有索引的 PG 表,该索引是不是仍然存在?

Posted

技术标签:

【中文标题】如果我删除带有索引的 PG 表,该索引是不是仍然存在?【英文标题】:If I drop a PG table with an index, does the index still exist?如果我删除带有索引的 PG 表,该索引是否仍然存在? 【发布时间】:2016-07-20 13:24:56 【问题描述】:

如果我删除并重新创建一个已编入索引的 Postgres 表,该索引是否仍然存在?

我是否需要在重新创建表后删除并重新索引表,还是只需要在新表上重新创建索引并将旧索引的清理工作留给 Postgres?

【问题讨论】:

您为什么不尝试一下?删除表时删除索引。重新创建表时将重新创建自动生成的索引(例如主键,唯一),手动创建的索引不会。没有关联表就不能有索引。 【参考方案1】:

Drop table 将删除所有相关的约束和索引,无需您进行任何清理。 Postgres 会处理这个问题。

【讨论】:

以上是关于如果我删除带有索引的 PG 表,该索引是不是仍然存在?的主要内容,如果未能解决你的问题,请参考以下文章

常见的导致PG创建索引慢的原因

PostgreSQL 14新特性--减少索引膨胀

使用 pg_restore 恢复表不包括主键或索引

PG中的Index-Only Scans解密

PostgreSQL pg_qualstats 解决索引缺失,添加索引

为啥 oracle 表索引但仍然进行全表扫描?