PostgreSQLデータベース内のすべての関数を一覧表示するための3つのオプションがあります。
information_schema.routines 表示
このビューには、現在のユーザーが(所有者であるか何らかの特権を持っていることによって)アクセスできる現在のデータベース内のすべての関数とプロシージャが含まれています。
関数のリストを返す例を次に示します。
SELECT
routine_name
FROM
information_schema.routines
WHERE
routine_type = 'FUNCTION'
AND
routine_schema = 'public';
この例では、publicでのみ機能します スキーマが返されます。必要に応じて、列を追加してください。
pg_proc カタログ
pg_catalog.pg_proc カタログには、関数、プロシージャ、集計関数、およびウィンドウ関数に関する情報が格納されています。
これをpg_catalog.pg_namespaceと結合できます publicを使用するプロシージャのみに結果をフィルタリングするカタログ 名前空間:
SELECT
n.nspname,
p.proname
FROM
pg_catalog.pg_namespace n
JOIN
pg_catalog.pg_proc p ON
p.pronamespace = n.oid
WHERE
p.prokind = 'f'
AND
n.nspname = 'public';
prokindにフィルタリングしました fの 結果を通常の機能だけに制限します。
可能な値はfです。 通常の機能の場合、p 手順については、a 集計関数の場合、またはw ウィンドウ関数の場合。
\df コマンド
psqlを使用する場合、\dfを使用できます コマンド:
\df
デフォルトでは、これはユーザーが作成したオブジェクトのみを返します。または、パターンまたはSを指定することもできます システムオブジェクトを含めるための修飾子。
パターンを提供する例を次に示します。
\df *key*
この例では、結果をkeyというテキストを含む関数/プロシージャのみに絞り込みます。 彼らの名前で。
このコマンドはストアドプロシージャも返すことに注意してください。ルーチンタイプ(例:func 、proc )はtypeにリストされています 出力の列。