sql >> データベース >  >> RDS >> PostgreSQL

pgAdminを使用してPostgreSQL関数をデバッグします

    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データベースを実行していると仮定しますこの要点 デバッグを有効にするための依存関係をダウンロードする方法を説明するのに優れた仕事をします。インストールするときは、rootとして実行していることを確認してください。

    見逃しがちなのは、デバッグする実際のデータベースに対してコマンドを発行することです。 PostgreSQLの新しいバージョンの場合、実行する必要があるのはこれだけです:

    CREATE EXTENSION IF NOT EXISTS pldbgapi;
    

    それでもエラーが返らない場合は、問題ありません。

    その他の注意事項:

    • 前述のように、デバッグできるのはスーパーユーザーアカウントとして実行している場合のみです
    • ドキュメント から デバッグできるのはpl/pgsql関数のみです。したがって、関数がLANGUAGE cのようなものを言っている場合 機能を選択したときに、PGAdminは右クリックの[デバッグ]メニューオプションも表示しません。 LANGUAGE plpgsqlがあるものを探します デバッグメニューが表示されます。


    1. 選択したデータベースからオプション値を選択します

    2. 合計を計算するための最良のアプローチ– SQLServer2012用に更新

    3. MySQLの類似/バリエーションの単語/接尾辞に一致する

    4. PostgreSQLで配列を比較する方法