我想将我的产品 Postgres RDS 数据库的主要版本从 11.16 升级到 12.11。我恢复了快照来进行试运行。当尝试修改AWS上的版本时,出现以下错误:
pg_restore: from TOC entry 5375; 1259 180582003 INDEX my_index my_database
pg_restore: error: could not execute query: ERROR: permission denied for schema publicf2iwen5v79e7a7ugjf2zdrpvhvpmr9bc
Command was:
-- For binary upgrade, must preserve pg_class oids
SELECT pg_catalog.binary_upgrade_set_next_index_pg_class_oid('180582003'::pg_catalog.oid);
CREATE INDEX "my_index" ON "publicf2iwen5v79e7a7ugjf2zdrpvhvpmr9bc"."my_table" USING "gin" ("upper"("my_column") "publicf2iwen5v79e7a7ugjf2zdrpvhvpmr9bc"."gin_trgm_ops");
Run Code Online (Sandbox Code Playgroud)
删除此索引和其他 3 个 trgm 索引后,升级工作正常。
我已经检查了扩展程序的所有者,它与其他扩展程序的所有者相同,并且我没有看到这些索引和其他索引之间有任何区别,除了它们来自pg_trgm
您知道如何解决这个问题吗?显然,我想避免在升级版本之前删除真实产品数据库上的这些索引。
从12升级到13时出现同样的问题