如何修复postgresql添加扩展缓存查找失败

如何修复postgresql添加扩展缓存查找失败,postgresql,ubuntu,Postgresql,Ubuntu,尝试添加pgcrypto扩展失败,原因是“函数1的缓存查找失败,SQL xtate:XX000” 这是运行在Ubuntu 18.04上的postgresql 11。这个数据库实例已经运行了一年多,没有任何其他明显的问题。为什么我会出现这个错误,阻止我加载任何扩展,而不仅仅是pgcrypto “从pg_扩展名中选择*”;返回单个扩展名“plpgsql” “从pg_可用扩展名中选择*”;返回包含pgcrypto的长列表 这是否意味着安装了contrib,但有其他原因导致了错误,还是表明contrib

尝试添加pgcrypto扩展失败,原因是“函数1的缓存查找失败,SQL xtate:XX000”

这是运行在Ubuntu 18.04上的postgresql 11。这个数据库实例已经运行了一年多,没有任何其他明显的问题。为什么我会出现这个错误,阻止我加载任何扩展,而不仅仅是pgcrypto

“从pg_扩展名中选择*”;返回单个扩展名“plpgsql”

“从pg_可用扩展名中选择*”;返回包含pgcrypto的长列表

这是否意味着安装了contrib,但有其他原因导致了错误,还是表明contrib安装中存在错误?有没有办法修复正在进行的任何操作?

我也有同样的问题

=# CREATE EXTENSION IF NOT EXISTS pgcrypto;
ERROR:  cache lookup failed for function 1

=# select lanvalidator from pg_language where lanname='c';
 lanvalidator 
--------------
            1
(1 row)
该解决方案与在

在那之后,运行原始命令起作用了

=# CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION
=#
Postgresql在通过sqlalchemy连接以创建一个新数据库、加载一些数据、删除另一个数据库并重命名新创建的数据库后进入此状态。我不知道是哪一步造成的。

我也有同样的问题

=# CREATE EXTENSION IF NOT EXISTS pgcrypto;
ERROR:  cache lookup failed for function 1

=# select lanvalidator from pg_language where lanname='c';
 lanvalidator 
--------------
            1
(1 row)
该解决方案与在

在那之后,运行原始命令起作用了

=# CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION
=#

Postgresql在通过sqlalchemy连接以创建一个新数据库、加载一些数据、删除另一个数据库并重命名新创建的数据库后进入此状态。我不知道是哪一步做的。

看看哪个是相同的问题,没有回答。我不确定你读的是问题还是整个线程,它说如何通过更新pg_语言来解决问题(但不知道问题最初是如何/为什么发生的)。我很抱歉,我错过了回答。我还有一个lanvalidator值“1”。在初始安装之后,我没有弄乱数据库中的任何东西,因此不知道为什么会出错。尽管如此,我还是将值更新为2247,解决了这个问题。非常感谢。看看哪一个是相同的问题,没有回答。我不确定你是否只阅读了问题或整个线程,其中说明了如何通过更新pg_语言来解决问题(但不知道问题最初是如何/为什么发生的)。很抱歉,我错过了回答。我还有一个lanvalidator值“1”。在初始安装之后,我没有弄乱数据库中的任何东西,因此不知道为什么会出错。尽管如此,我还是将值更新为2247,解决了这个问题。多谢。