回答:
\df+ <function_name>
中にはpsql。
\ef <function_name>
psqlで。関数全体に編集可能なテキストを提供します。
;
<enter>
バッファを実行するために後でタイプすることを忘れないでください。
ERROR: more than one function named
SELECT prosrc FROM pg_proc WHERE proname = 'function_name';
これは、関数を呼び出す方法を関数ハンドラーに伝えます。実装言語/呼び出し規約に応じて、インタープリター型言語の実際の関数のソースコード、リンクシンボル、ファイル名など、さまざまなことが考えられます。
psql
。関数名は小文字に見えることに注意してください。
SELECT proname, prosrc, proargnames FROM pg_proc WHERE proname like '%func_name%'
。これは少なくともPg 9.6では。プロパティを介してタイプの数値コードを取得できますが、proargtypes
これを名前として取得するには、他のテーブルと結合する必要があります。
\df
Postgresのすべてのストアドプロシージャをリストするために使用します。
誰かがカタログテーブルをすばやくクエリしてpg_get_functiondef()
関数を使用する方法を知りたい場合は、次のサンプルクエリをご覧ください。
SELECT n.nspname AS schema
,proname AS fname
,proargnames AS args
,t.typname AS return_type
,d.description
,pg_get_functiondef(p.oid) as definition
-- ,CASE WHEN NOT p.proisagg THEN pg_get_functiondef(p.oid)
-- ELSE 'pg_get_functiondef() can''t be used with aggregate functions'
-- END as definition
FROM pg_proc p
JOIN pg_type t
ON p.prorettype = t.oid
LEFT OUTER
JOIN pg_description d
ON p.oid = d.objoid
LEFT OUTER
JOIN pg_namespace n
ON n.oid = p.pronamespace
WHERE NOT p.proisagg
AND n.nspname~'<$SCHEMA_NAME_PATTERN>'
AND proname~'<$FUNCTION_NAME_PATTERN>'
pg_get_functiondef(p.oid) ilike '%indicator_loss%'
システムで設定されている場合は、phpPgAdminを使用して取得することもできます。
ステップ1:データベースを選択する
ステップ2:検索ボタンをクリックします
ステップ3:検索オプションを関数に変更し、[検索]をクリックします。
定義された関数のリストが表示されます。関数を名前で検索することもできます。この答えが他の人の役に立つことを願っています。
ストアドプロシージャ/関数で記述された完全なコード(クエリ)を表示するには、以下のコマンドを使用します。
sp_helptext procedure/function_name
関数名とプロシージャ名に接頭辞「dbo」を追加しないでください。または「sys。」。
プロシージャまたは関数名の最後に角かっこを追加しないでください。また、パラメータを渡さないでください。
sp_helptextキーワードを使用して、プロシージャ/関数名を渡します。
以下のコマンドを使用して、手順用に作成された完全なコードを確認します。
sp_helptext ProcedureName
以下のコマンドを使用して、関数用に作成された完全なコードを確認します。
sp_helptext FunctionName
sp_helptext
postgresqlにはありません。
通常は、pgAdminなどのDBマネージャーアプリケーションを使用し、関心のあるオブジェクトを参照して、右クリックして「スクリプトを作成」または類似のものに移動します。
あなたはこれをしようとしています...管理アプリなしで?