Help us understand the problem. What is going on with this article?

[PostgreSQL] pgAdminでデバッグする方法

More than 3 years have passed since last update.

このサイトを参考にデバッグ環境を構築。PostgreSQLは既定ではデバッグが有効化されていないため、一度環境の設定変更が必要。Enterpriseうんちゃら書いてあるが、無料でダウンロードできるPostgreSQLのインストーラーでデバッグが可能。

環境構築手順

postgresql.confのshared_preload_librariesの設定

  • C:\Program Files\PostgreSQL\9.2\lib ディレクトリ配下にplugin_debugger.dllが存在することを確認
  • C:\Program Files\PostgreSQL\9.2\dataディレクトリにあるpostgresql.confを開く
  • shared_preload_librariesというパラメータを探し、先ほど確認したplugin_debuggerを指定
  • コメントアウトは解除。拡張子の記載は不要。
shared_preload_libraries = 'plugin_debugger'
  • PostgreSQLサーバを再起動

CREATE EXTENSIONでエクステンションのセットアップ

  • pgAdminIIIのオブジェクトブラウザペインで、データベース内の「Extensions」を選択
  • 右クリックメニューから「New Extension...」を選択
  • 名前で、「pldbgapi」を選択

実行方法

  • 関数を右クリックし、コンテキストメニューから「デバッグ→ブレークポイントの設定」を選択
  • デバッガの画面が現れ、ブレークポイントへの到達を待機している状態となる
  • 通常のクエリウィンドウに切り替えて、関数を実行

2016/08/01 追記

  • pgAdminでデバッグしようとしたところ、ほぼ確実に処理が止まる&異常終了する。
  • pgAdminでのデバッグ開発はまだ難しそうであるため、伝統的なprintfでデバッグする。
  • 任意の箇所で以下のコードを記述。
raise notice 'RoundABSFlg:% %', value1, value2;
  • 「%」がパラメータ変数にあたる。左から順にvalue1、value2が代入される。
r_okano
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした