[pgsql-jp: 29095] Re: ユーザ定義ファンクションの一覧取得
matsuda
yumatuda @ msoft.co.jp
2003年 2月 18日 (火) 11:36:25 JST
エムソフト松田です。
杉田さんありがとうございます。
psql -E [データベース名]
の後に、
\dを表示したら、
********* QUERY **********
SELECT format_type(p.prorettype, NULL) as "Result data type",
p.proname as "Name",
oidvectortypes(p.proargtypes) as "Argument data types"
FROM pg_proc p
WHERE p.prorettype <> 0 AND (pronargs = 0 OR oidvectortypes(p.proargtypes) <> '')
ORDER BY 2, 1, 3;
**************************
を確認する事が出来ました。そして、
select * from pg_database;
で、datlastsysoidも取得したのですが、datlastsysoidと何を比較すれば良いのでしょうか?
SELECT *
FROM pg_proc p
WHERE p.prorettype <> 0 AND (pronargs = 0 OR oidvectortypes(p.proargtypes) <> '')
;
でpg_proc pを全て参照しても、比較対照となりそうな物が見つかりませんでした。
すみませんが、よろしくお願いします。
#やっぱり頭にusr_とか付けとけば簡単にSELECT出来たんだろうなあ・・・
sugita @ sra.co.jp wrote:
> 杉田です。
>
> From: matsuda <yumatuda @ msoft.co.jp>
> Subject: [pgsql-jp: 29091] ユーザ定義ファンクションの一覧取得
> Date: Tue, 18 Feb 2003 10:41:04 +0900
>
> ;;; お世話になっております。
> ;;; エムソフト松田です。
> ;;;
> ;;; Create Functionで定義した関数の一覧はどこで見るのでしょうか?
> ;;; 検索エンジンでpostgres function \df 等で調べたのですが、
> ;;; 求めている物はありませんでした。
> ;;; psqlにて\dfで、ファンクションの一覧は取得できるのですが、
> ;;; ユーザ定義ファンクションのみをリストとして出力したいのです。
>
> こんなのでどうでしょう?
>
> ・psql -E で \df がどのようなクエリーが実行されるかを調べる。
>
> ・pg_database の datlastsysoid より大きいものという条件を上記のクエリーに
> 追加する。
>
>
> Kenji Sugita
pgsql-jp メーリングリストの案内