我在特定架构中创建了一些函数,但“函数”部分内部没有任何内容..
我创建了这个例子的函数:
CREATE FUNCTION pymax (a integer, b integer)
RETURNS integer
AS $$
if a > b:
return a
return b
$$ LANGUAGE plpythonu;
答案 0 :(得分:1)
如果名称不是模式限定的,则在当前模式中创建一个函数(如其他对象)。您当前的架构由search_path
的当前设置定义。
查看您当前的search_path
:
SHOW search_path;
设置search_path
的方法有很多种,在此相关答案中更多:
How does the search_path influence identifier resolution and the "current schema"
要确定数据库中是否存在任何具有类似名称的函数:
SELECT n.nspname, p.proname, pg_get_function_arguments(p.oid) As args
FROM pg_proc p
JOIN pg_namespace n ON n.oid = p.pronamespace
WHERE p.proname ILIKE '%pymax%';
如果找不到任何内容,则此数据库中不存在这些功能。也许你错误地在另一个数据库中创建了它?