pg_get_function_identity_arguments(func_oid)が存在しない以前のバージョンのpostgresを使用している場合は、私自身の関数を作成してパラメータを取得します関数のためにoidを渡す必要があるだけであれば、以下の関数をpostgres dbにデプロイする必要があります。
CREATE OR REPLACE FUNCTION public.getFunctionParameter(functionOid oid)
RETURNS text AS
$BODY$
declare
t_paras text;
paras oid[];
res text :='(';
begin
select proargtypes into t_paras from pg_proc where oid=functionOid;
if t_paras is null or t_paras='' then
return '()';
else
paras:=string_to_array(t_paras,' ');
for i in array_lower(paras,1) .. array_upper(paras,1)
loop
raise notice 'para is %',paras[i];
select format_type(paras[i]::oid,NULL) into t_paras;
res:=res||t_paras||',';
end loop;
res:=substring(res from 1 for char_length(res)-1);
res:=res||')';
return res;
end if;
end
$BODY$
LANGUAGE plpgsql ;
機能は以下のあなたは、私が例
SELECT n.nspname||'.'||p.proname||public.getFunctionParameter(p.oid)
FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
WHERE n.nspname='public'
あなたは意志の結果の公開を使用していますいくつかの他のスキーマの下の関数を取得したい場合は、スキーマ名を変更し、関数名とパラメータを一覧表示されます以下のようになります
1 "public.getfunctionparameter(integer,text)"
2 "public.getfunctionparameter(oid)"
pgAdminで関数を見てください。 –
'' psql'の中の '\ df name'(http://www.postgresql。org/docs/current/static/app-psql.html)。 –