[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 メーリングリストの案内