gpt4 book ai didi

sql - 是否可以找到 PostgreSQL 函数之间的依赖关系?

转载 作者:行者123 更新时间:2023-11-29 11:37:24 26 4
gpt4 key购买 nike

我正在使用 PostgreSQL 9.2.10

假设您有 2 个 PostgreSQL 函数,'called_function' 和 'caller_function',第二个调用第一个。正是:

CREATE FUNCTION called_function () RETURNS varchar AS
$BODY$
BEGIN
RETURN 'something';
END;

CREATE FUNCTION caller_function () RETURNS varchar AS
$BODY$
BEGIN
RETURN called_function ();
END;

现在,使用 SQL 并且只知道函数名称,我想知道“caller_function”是否调用了其他函数。或者如果“called_function”被其他函数调用。可能吗?

我尝试获取函数的 OID(假设它是“123”),然后我查看了 pg_depend 表:

SELECT * FROM pg_catalog.pg_depend dep WHERE dep.objid = 123 OR dep.objsubid = 123 OR dep.refobjid = 123 OR dep.refobjsubid = 123 OR dep.refobjsubid = 123;

但它只找到pg_languagepg_namespace 依赖项。仅此而已。

最佳答案

我在定义一个函数时遇到了同样的问题,但由于依赖性,它不起作用。然后我通过在命令之前添加此命令解决了我的问题

SET check_function_bodies = false;

希望能帮助到别人

关于sql - 是否可以找到 PostgreSQL 函数之间的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36287000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com