2012-07-03 8 views

答えて

3

を助けてくださいpsqlのコマンドラインで、それは\df+ fooだ、そうではありませんか?あなたはpsqlの(コマンドラインインターフェイス)を使用している場合

結局、select prosrc from pg_proc where proname='foo';

7

あなたはtobixenとして\df+を使用することができ、既に述べている(と明確にマニュアルに記載されています)。

SQLクエリ内でこれを行う必要がある場合は、system information functionsをご覧ください。あなたは、パラメータの数が異なるオーバーロード関数を扱っている場合は、名前にパラメータ署名を含める必要がpg_get_functiondef()

select pg_get_functiondef(oid) 
from pg_proc 
where proname = 'your_function'; 

を探しています:

select pg_get_functiondef('public.foo(int)'::regprocedure); 
select pg_get_functiondef('public.foo(int,int)'::regprocedure); 

はのオーバーロードされたバージョンを取得します関数foo(1つのintパラメータを持つ1つのバージョン、2つのintパラメータを持つもう1つのバージョン)。

関連する問題