【发布时间】:2018-02-14 13:50:40
【问题描述】:
我使用 DBeaver 连接到 postgreSQL 数据库(8.3 版)。当查找函数并尝试查看它的主体时,我收到了错误消息,指出存在 ERROR WHILE READING SOURCE: SQL Error [42883]: function pg_get_functiondef(oid) does not exists。
我该如何克服这个问题?
【问题讨论】:
-
此功能在 8.3 (!) 中不存在。如果由于某种原因你不能更新你的数据库,我认为是这种情况,我建议你使用 pgAdmin III,它是一个用于 PostgreSQL 的 kickass IDE。另一种选择是使用更通用的驱动程序在 DBeaver 中创建连接。
-
pgAdmin3 存在完全相同的问题 - 它不显示来自 postgreSQL 8.3 的函数
-
啊,好吧,在这种情况下,它比我想象的要严重得多:D 我想知道如果你用手装箱会发生什么:
CREATE OR REPLACE FUNCTION pg_get_functiondef(oid) RETURNS text AS 'pg_get_functiondef' LANGUAGE internal STABLE STRICT COST 1; ALTER FUNCTION pg_get_functiondef(oid) OWNER TO postgres; COMMENT ON FUNCTION pg_get_functiondef(oid) IS 'definition of a function'; -
是的,我也想知道但无法运行它。我想如果我运行原始的 pg_get_functiondef(oid) 它会起作用,但我很害怕这样做。
-
是的。所以我猜你最终不得不升级你的数据库版本,这不是一个坏主意:-)祝你好运!
标签: postgresql dbeaver