如何检查哪个函数使用类型?

如何检查哪个函数使用类型?,第1张

如何检查哪个函数使用类型

您可以在系统目录中找到所有依赖

pg_depend

这将 根据类型 返回 所有功能
。即,不仅是那些在

RETURNS
子句中具有类型的变量,而且还有那些具有类型作为函数参数的变量:

SELECt objid::regproc      AS function_name     , pg_get_functiondef(objid)      AS function_definition     , pg_get_function_identity_arguments(objid) AS function_args     , pg_get_function_result(objid)  AS function_returnsFROM   pg_dependWHERe  refclassid = 'pg_type'::regclassAND    refobjid   = 'my_type'::regtype    -- insert your type name hereAND    classid    = 'pg_proc'::regclass;  -- only find functions

这也适用于表函数:

...RETURNS TABLE (foo my_type, bar int)

使用系统目录信息功能。

可能还有其他依赖关系(不依赖功能)。

WHERe
从我的查询中删除最后一个条件以进行测试(
SELECT
显然是对列表进行了调整)。

而且仍然有可能在函数体或动态SQL中的查询中显式使用该类型(例如在强制转换中)。您只能通过解析函数主体的文本来识别此类用例。系统中没有注册任何显式依赖项。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5618260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存