gpt4 book ai didi

postgresql - 如何使用对 information_schema 的查询来检索函数的 search_path 集?

转载 作者:行者123 更新时间:2023-11-29 12:02:58 25 4
gpt4 key购买 nike

我为每个在创建时定义了 search_path 的模式设置了多个函数:

CREATE OR REPLACE FUNCTION the_schema.update_complete_url(updateLang bigint) RETURNS boolean AS $$
DECLARE
tree_row record;
BEGIN
// body of function
END
$$ LANGUAGE plpgsql SET search_path=the_schema,public,pg_temp;

search_path 的定义使得我不需要在函数体中的每个表前加上 the_schema. 前缀,这让我更容易维护这些函数。

现在我有一个维护/迁移脚本,用于测试某些功能是否存在以及是否具有正确的设置。检索函数本身不是问题,因为它看起来是这样的:

SELECT * FROM "information_schema"."routines" 
WHERE "routine_type"='FUNCTION' AND "specific_schema"='the_schema';

使用 "information_schema"."parameters" 查询参数也没有问题,但是 SET search_path=the_schema,public,pg_temp 部分存储在哪里?

最佳答案

据我所知,它在 information_schema 中不可用。

您可以通过 pg_catalog 获取它,但它是特定于 PostgreSQL 的:

select unnest(proconfig) from pg_proc where proname = 'function_name';

关于postgresql - 如何使用对 information_schema 的查询来检索函数的 search_path 集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46445660/

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