投稿

ラベル(postgresql)が付いた投稿を表示しています

PostgreSQL gdb debug

PostgreSQL も gdb で読むための作業です。 http://www.postgresql.org/docs/current/static/git.html から git で落としてきます。 yacc が使われているらしいので一応インストール。 brew install bison make いつもの configure 。 configure --enable-debug --prefix=$BUILD_DIR/POSTGRESQL_BUILD そのまま、 make make install 結構時間かかります。 データベースの設定 PGDATA は PostgreSQL のデータが入るディレクトリです。 データベースの初期化から。 $BUILD_DIR/POSTGRESQL_BUILD/bin/initdb -D $PGDATA で、PostgreSQL を起動。 $BUILD_DIR/POSTGRESQL_BUILD/pg_ctl -D $PGDATA -l logfile_name start データベースを作り、PostgreSQL に接続。プロンプトが出たらやったー。 $BUILD_DIR/POSTGRESQL_BUILD/createdb test_db $BUILD_DIR/POSTGRESQL_BUILD/psql test_db あらたにコンソールを立ち上げ、 ps -ef | grep postgres で、PostgreSQL のプロセスを探し出す 以下のが見つかれば 501 904 788 0 1:34PM ?? 0:00.01 postgres: USER user [local] idle プロセス番号を使って gdb $BUILD_DIR/BUILD_POSTGRESQL/bin/postgres (gdb) attach 904 で接続し、psql を実行したセッションで適当に SQL を打ってデバッグします。 (gdb) until で待つのが良いみたい。

PostgreSQL debug

git をまず PC に入れましょう。 http://www.postgresql.org/docs/current/static/git.html を参考に、 git clone git://git.postgresql.org/git/postgresql.git で PostgreSQL のソースをゲットします。 ./configure --prefix=$HOME/置きたいディレクトリ --enable-debug で configure します。 src/Makefile.global の中身の -O2 を -O になおして、 make make install でバイナリ作成完了です。 綺麗な C で書かれていると噂の PostgreSQL を読みます。 参考 http://eleph2mano.cswiki.jp/index.php?PostgreSQL%E3%82%92gdb%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0