すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:pldebugger拡張機能の使用

最終更新日:Mar 19, 2024

このトピックでは、pldebugger拡張機能を使用して、ApsaraDB RDS for PostgreSQLインスタンスのストアドプロシージャをデバッグする方法について説明します。

背景情報

ApsaraDB RDS for PostgreSQLは、PL/pgSQL、PL/Python、PL/Perl、PL/Tclなどのさまざまなストアドプロシージャ言語をサポートしています。 これらの言語を使用して、関数またはストアドプロシージャを作成できます。

前提条件

  • RDSインスタンスは、次のいずれかのデータベースエンジンバージョンを実行します。

    • メジャーエンジンのバージョン: PostgreSQL 10、PostgreSQL 11、PostgreSQL 12、またはPostgreSQL 13。

    • RDSインスタンスは、20230830以降のマイナーエンジンバージョンを実行します。

      重要

      拡張機能は、20230830より前のマイナーエンジンバージョンでサポートされています。 ApsaraDB RDS for PostgreSQLの拡張機能管理を標準化し、拡張機能のセキュリティを強化するために、ApsaraDB RDSはマイナーエンジンバージョンのイテレーションで脆弱な拡張機能を最適化する予定です。 その結果、以前のマイナーエンジンバージョンを実行するRDSインスタンスに対して、一部の拡張機能を作成できなくなりました。 詳細については、「 [製品の変更 /機能の変更] ApsaraDB RDS For PostgreSQLインスタンスの拡張機能作成の制限」をご参照ください。

      • 20230830より前のマイナーエンジンバージョンを実行するRDSインスタンスの拡張機能を作成した場合、その拡張機能は影響を受けません。

      • RDSインスタンスの拡張機能を初めて作成する場合、または拡張機能を再作成する場合は、RDSインスタンスのマイナーエンジンバージョンを最新バージョンに更新する必要があります。 詳細については、「マイナーエンジンバージョンの更新」をご参照ください。

  • plugin_debuggerは、RDSインスタンスのshared_preload_librariesパラメーターの値に追加されます。

    shared_preload_librariesパラメーターの値にplugin_debuggerを追加する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのパラメーターの変更」をご参照ください。

  • データベースクライアントのpgAdmin4のバージョンが4.19以降です。 pgAdmin4はpgAdmin4からダウンロードできます。

拡張機能を使用するUse the extension

  • エクステンションを作成します。

    拡張pldbgapiを作成します。
    説明

    特権アカウントのみがステートメントを実行する権限を持っています。

  • 拡張を削除します。

    ドロップ延長pldbgapi;
    説明

    特権アカウントのみがステートメントを実行する権限を持っています。

  1. pgAdminを使用してRDSインスタンスに接続します。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスへの接続」をご参照ください。

  2. テストに使用するデータベースとストアドプロシージャを作成します。

    サンプルSQL文:

    CREATE TABLEテスト (
        id int,
        名前VARCHAR(50);
    CREATE OR REPLACE FUNCTION public.testcount()
    RETURNS整数AS $$
    
    DECLARE
        postgresテキスト;
        整数をカウントします。開始
    テスト値 (1、'a') に挿入します。postgres:='SELECT COUNT(*) FROM test';
    EXECUTE postgres INTOカウント;
    
    IFカウント> 100 THEN
        リターンカウント;
    エルセ
        リターン0;
    エンドIF;
    エンド;
    $$ language plpgsql; 
  3. デバッグする関数を右クリックし、[デバッグ]> [デバッグ] を選択します。Select the Debug menu item

  4. ページの右側のデバッグセクションで、段階的な操作を実行して関数をデバッグします。 これらの操作には、ステップイン /オーバー、続行、チェックポイント、および停止が含まれます。 ページの下部では、ローカル変数、デバッグ結果、および関数スタックを表示できます。Buttons for debugging