[pgsql-jp: 40950] Re: create language plpgsql databasename とは?

tanaka tanaka_hideo @ yahoo.co.jp
2011年 10月 5日 (水) 21:42:33 JST


こんばんは、
返信いただきありがとうございました。


--- On Tue, 2011/10/4, Itagaki Takahiro <itagaki.takahiro @ gmail.com> wrote:

> 2011/10/4 tanaka <tanaka_hideo @ yahoo.co.jp>:
> > 第 35章手続き言語
> > のところに書かれている
> > 「ハンドラそのものはC言語関数で、他のC言語関数と同様に、共有オブジェクトにコンパイルされ、要求に応じてロードされます。」
> > が、実施されるという理解で良いでしょうか?
> 
> プロシージャ言語を含めた PostgreSQL の拡張モジュールは
> 一般的に、以下のステップを経て使えるようになります。
> 
> 1. ライブラリ・ファイルをファイルシステム上に配置する。
>    (.dll や .so の拡張子を持つファイル)
> 2. ライブラリ・ファイル内の関数を、PostgreSQL データベースに
>    登録するために、登録用SQLを実行。
> 3. 実際にアプリから機能を使う際に、ライブラリがロードされる。
> 
> plpgsql のライブラリ・ファイルは、PostgreSQL本体と一緒に
> インストール済みなので、通常は 1.の手順は要りません。
> plpgsql 自体は、C言語で書かれていますね。
> 
> CREATE LANGUAGE は、2.に相当する操作で、データベースに
> ライブラリを登録するための操作です。
> 
> そして、3.として、CREATE FUNCTION した関数を呼び出すと、
> 実際にライブラリがロードされ、実行されることになります。
> 
> 
> ……という感じで、イメージは伝わるでしょうか?
> 
> -- 
> Itagaki Takahiro
> 


pgsql-jp メーリングリストの案内