2009-05-28 62 views

回答

2

pg_proc中的proargtypes列是所有函数参数类型的数组。然后可以将每种类型交叉引用至pg_type.oid

所以,如果我这样定义一个函数:

[email protected]@[local] =# create function testfunc(pg_proc.proname%type) returns boolean language 'sql' immutable strict as $$ select true $$; 
NOTICE: type reference pg_proc.proname%TYPE converted to name 
CREATE FUNCTION 

那么,该通知是不是太乐观。

该函数pg_proc记录是:

proname | proargtypes 
----------+------------- 
testfunc | 19 

和19型是只是 “名”。所以看起来这里的答案是“不”,恐怕。