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

ApsaraDB RDS:ストアドプロシージャのデバッグ (pldebugger)

最終更新日:Nov 09, 2025

ApsaraDB RDS for PostgreSQL は、ストアドプロシージャのデバッグに使用できる pldebugger 拡張機能を提供します。

背景情報

ApsaraDB RDS for PostgreSQL は、plpgsql、plpython、plperl、pltcl などの複数のストアドプロシージャ言語をサポートしています。これらのストアドプロシージャ言語を使用して、関数またはストアドプロシージャを作成できます。

前提条件

  • ApsaraDB RDS for PostgreSQL インスタンスは、次の要件を満たす必要があります。

    メジャーエンジンバージョン

    マイナーエンジンバージョン

    PostgreSQL 14、15、16、および 17

    20250630 以降

    PostgreSQL 10、11、12、および 13

    20230830 以降

    重要
  • ApsaraDB RDS for PostgreSQL インスタンスの特権アカウントを作成済みであること。 詳細については、「アカウントの作成」をご参照ください。

  • pgAdmin 4 v4.19 以降を使用していることを確認してください。 pgAdmin 4 をダウンロードするには、「pgAdmin 4」をご参照ください。

拡張機能のインストールとアンインストール

  1. インスタンスパラメーターの設定。 shared_preload_libraries パラメーターの [値] に plugin_debugger を追加します。 たとえば、[値]'pg_stat_statements,auto_explain,plugin_debugger' に変更します。

  2. 特権アカウントを使用して拡張機能をインストールするデータベースに接続し、次の SQL 文を実行して拡張機能を作成または削除します。

    • 拡張機能の作成

      CREATE EXTENSION pldbgapi;
    • 拡張機能の削除

      DROP EXTENSION pldbgapi;

デバッグの例

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

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

    次の SQL 文は一例です。

    CREATE TABLE test(
        id int,
        name VARCHAR(50));
    CREATE OR REPLACE FUNCTION public.testcount()
    RETURNS integer AS $$
    
    DECLARE
        postgres text;
        counts integer;
    
    BEGIN
    INSERT INTO test VALUES(1, 'a');
    
    postgres:='SELECT COUNT(*) FROM test';
    EXECUTE postgres INTO counts;
    
    IF counts > 100 THEN
        RETURN counts;
    ELSE
        RETURN 0;
    END IF;
    END;
    $$ language plpgsql;
  3. デバッグする関数を右クリックします。选择Debug

  4. pgAdmin インターフェイスの右側にある関数デバッグペインで、目的の関数をステップバイステップでデバッグできます。 使用可能な操作には、ステップイン、ステップオーバー、続行、ブレークポイントの追加、停止などがあります。 下部では、ローカル変数、デバッグ結果、および関数スタックに関する情報を表示できます。调试按钮