Hatena::Grouppostgresql

PostgreSQL 雑記 このページをアンテナに追加 RSSフィード

2010-08-23PL/JavaScript (v8) を整理してみた このエントリーを含むブックマーク このエントリーのブックマークコメント

PostgreSQL のストアド・プロシージャを JavaScript で書ける、PL/v8 ( http://code.google.com/p/plv8js/wiki/PLV8 ) のコードを整理して公開しました。基本的な部分は既に十分動いていたので、ビルドシステムやエラーチェック周りを手直ししています。

Linux (64bit) で使う場合のインストールメモを残しておきます。もちろん、先に PostgreSQL もインストールしておいてください。

V8 JavaScript Engine のインストール

デフォルト設定だと x86(32bit) バイナリを生成しようとするので、arch=x64の指定をお忘れなく。

  1. sudo yum install python scons svn gcc-c++
  2. svn checkout http://v8.googlecode.com/svn/trunk/ v8
  3. cd v8
  4. scons mode=release library=shared snapshot=on arch=x64
  5. sudo cp libv8.so /usr/lib64/

PL/v8 のインストール

  1. sudo yum install mercurial make gcc
  2. hg clone https://plv8js.googlecode.com/hg/ plv8js
  3. make USE_PGXS=1
  4. make USE_PGXS=1 install
  5. pg_ctl start
  6. make USE_PGXS=1 installcheck


PL/v8 以外にも、PostgreSQL の拡張を書く上で C++ を使う場合のノウハウができたのは良かったですね。PostgreSQLのエラー処理 (siglongjmp) のせいでデストラクタに頼るような処理は相性が悪いですが、better-C としてだけでも十分 pure-C よりも開発しやすいですし。