无法删除PostgreSQL中具有方案名称的索引

vmdwslir  于 2022-12-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(107)

在分区表movies.actors_2010(名称)上创建索引,模式名称为movies.actors_2010_name_idx
在电影.演员_2010(名称)上同时创建索引“电影.演员_2010_名称_idx”;
现在,当我尝试删除索引时,输出显示索引不存在,索引保持不变,无法删除它。
“删除索引如果存在电影.演员_2010_名称_idx;“
任何建议都是有帮助的。
谢谢。

pn9klfpd

pn9klfpd1#

问题似乎是您引用了标识符"movies.actors_2010_name_idx"。这创建了名称中包含.的索引,而不是movies架构中名为"actors_2010_name_idx"的索引。

CREATE INDEX CONCURRENTLY "movies"."actors_2010_name_idx" ON "movies"."actors_2010"(name);

CREATE INDEX CONCURRENTLY movies.actors_2010_name_idx ON movies.actors_2010(name);

现在,要删除名称已损坏的索引,可以使用

DROP INDEX IF EXISTS "movies.actors_2010_name_idx";

或者可能

DROP INDEX IF EXISTS "movies"."movies.actors_2010_name_idx";

相关问题