PostgreSQL cache lookup failed for type XXXX 错误
一、错误信息
执行 pg_dump 命令备份,提示 cache lookup failed for type… 错误。
二、错误分析
根据上面日志中的提示信息,可以确定 222222 这个 ID 号,在 pg_type 表中无法查找到。
分析 pg_proc 表结构。查看 pg_proc 表中对 pg_type.oid 引用的相关字段。
查询到 prorettype 字段中使用到了 222222 这个 ID。
三、解决方案
将 pg_proc 表的 proname 字段也输出,确认函数名称。
根据 getuserpermissionsbyentityid 函数名称,在数据库中查找到该函数。
查看到该函数的返回类型为 permissions_view。
在 pg_type 表中查询类型名称为 permissions_view 的类型是否存在。
查询到 permissions_view 类型的 oid 号为 236728。(如果未查询到需要先手动 insert 这条数据,再查询出 oid)。
修改 pg_proc 表中 prorettype 字段的引用 ID 为 236728。
四、再次进行备份成功。
知识分享,需人人参与,看完请点赞留言,共同讨论进步