2か所でデバッグを有効にする必要があります。 PGAdminとデータベース自体。あなたが参照したその記事はそれを説明する素晴らしい仕事をしていますが、いくつかのニュアンスがありました。
PGAdmin
postgresql.conf
を更新する場合 デバッグライブラリをロードするためのファイル、私はWindowsでPGAdminを実行していました
そのため、ファイルはここにありました:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
そして、plugin_debugger.dll
へのパス 実際に
$libdir/plugin_debugger.dll
ない
$libdir/plugins/plugin_debugger.dll
記事で指定されているように。つまり、postgresql.conf
このような行が必要になります
shared_preload_libraries = '$libdir/plugin_debugger.dll'
不明な点がある場合は、実際の.dllを検索してください。 Linuxを使用している場合、探しているファイルはplugin_debugger.so
です。 。 postgresql.conf
を変更することを忘れないでください 変更を有効にするには、ファイルを再起動する必要があります。
PostgreSQLデータベース
LinuxサーバーでPostgreSQLデータベースを実行していると仮定します
見逃しがちなのは、デバッグする実際のデータベースに対してコマンドを発行することです。 PostgreSQLの新しいバージョンの場合、実行する必要があるのはこれだけです:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
それでもエラーが返らない場合は、問題ありません。
その他の注意事項:
- 前述のように、デバッグできるのはスーパーユーザーアカウントとして実行している場合のみです
- ドキュメント
から デバッグできるのはpl/pgsql関数のみです。したがって、関数が
LANGUAGE c
のようなものを言っている場合 機能を選択したときに、PGAdminは右クリックの[デバッグ]メニューオプションも表示しません。LANGUAGE plpgsql
があるものを探します デバッグメニューが表示されます。