PostgreSQL・pgAdmin IIIで関数のデバッグ


pgAdminIII で PostgreSQL の関数やトリガをデバッグできるようなの
で調べました。
以下はその備忘録です。
OSはCentOS4.6、PostgreSQLは8.3です。




pgfoundry から edb-debugger をダウンロードします。
最新の0.92をダウンロードしました。

PostgreSQLのインストール時に作ったディレクトリがそのまま残っていたので、それを使います。
(/usr/local/src/postgresql-8.3.3 )
ダウンロードしてきた edb-debugger は /usr/local/src/ に置いています。

$ cd /usr/local/src/postgresql-8.3.3/contrib/
$ tar zxvf /usr/local/src/edb-debugger-0.92.tgz
$ cd ./pldebugger
$ make
$ make install

※edb-debugger0.91 は展開すると アーカイブのトップは /contrib となっていて 0.92 とは構造が違うようです。

$ make install
Makefile:63: 警告: ターゲット `install' へのコマンドを置き換えます
../../src/makefiles/pgxs.mk:115: 警告: ターゲット `install' への古いコマンドは無視されます
Makefile:77: 警告: ターゲット `installdirs' へのコマンドを置き換えます
../../src/makefiles/pgxs.mk:153: 警告: ターゲット `installdirs' への古いコマンドは無視されます
mkdir -p -- /usr/local/pgsql/lib/plugins
mkdir -p -- /usr/local/pgsql/share/contrib
 /bin/sh ../../config/install-sh -c -m 755  pldbgapi.so '/usr/local/pgsql/lib'
 /bin/sh ../../config/install-sh -c -m 755  targetinfo.so '/usr/local/pgsql/lib'
 /bin/sh ../../config/install-sh -c -m 755  plugin_debugger.so '/usr/local/pgsql/lib/plugins'
/bin/sh ../../config/install-sh -c -m 644 ./pldbgapi.sql '/usr/local/pgsql/share/contrib'

postgresql.conf に shared_preload_libraries を追加します。

$ vi /usr/local/pgsql/data/postgresql.conf
shared_preload_libraries = '/usr/local/pgsql/lib/plugins/plugin_debugger.so'

データベースに edb-debugger の SQLを流します。
既にデータベースが存在する時は、そのデータベースでもSQLを実行する必要があるかも

$ su - postgres
$ psql -d template1 -f /usr/local/pgsql/share/contrib/pldbgapi.sql
CREATE TYPE
CREATE TYPE
CREATE TYPE
CREATE TYPE
CREATE TYPE
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION

PostgreSQLを再起動。

pgAdminIII の メニュー -> ツール に デバッグが追加されています。
pgadmin

タグ: , ,

コメントをどうぞ