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

AnalyticDB:pldbgapi

最終更新日:Aug 28, 2026

関数を開発またはデバッグするには、pldbgapi 拡張機能をインストールします。これにより、PL/pgSQL のデバッグが可能になり、条件、ブレークポイント、および変数の値を設定できます。

概要

AnalyticDB for PostgreSQL において、PL/pgSQL はストアドプロシージャおよびユーザー定義関数 (UDF) を記述するための手続き型言語です。変数、条件ロジック、ループ、例外処理などのプログラミング機能によって SQL を拡張します。

pldbgapi 拡張機能を使用すると、C プログラムで GNU Debugger (GDB) を使用するのと同様に、PL/pgSQL コードをデバッグできます。ブレークポイントの設定、コードのステップ実行、実行時の変数表示が可能です。この拡張機能により、関数の開発とデバッグが簡素化されます。

使用上の注意

  • pldbgapi 拡張機能は、マイナーエンジンバージョンが v6.3.10.19 以降の AnalyticDB for PostgreSQL V6.0 インスタンスでのみサポートされています。インスタンスのマイナーエンジンバージョンを確認する方法については、「マイナーエンジンバージョンの表示」をご参照ください。

  • PL/pgSQL コードをデバッグするには、pgAdmin クライアントを使用する必要があります。v6.21 より後のバージョンは AnalyticDB for PostgreSQL カーネルと互換性がないため、pgAdmin クライアント v6.21 の使用を推奨します。クライアントをダウンロードするには、「pgAdmin」をご参照ください。

操作手順

  1. AnalyticDB for PostgreSQL インスタンスの [拡張機能] ページに移動し、pldbgapi 拡張機能をインストールします。詳細な手順については、「拡張機能のインストール、更新、アンインストール」をご参照ください。

  2. AnalyticDB for PostgreSQL データベースに接続し、PL/pgSQL デバッグ用の関数を作成します。以下はサンプル関数です:

    CREATE OR REPLACE FUNCTION add_numbers(a int, b int)
    RETURNS NUMERIC AS $$
    DECLARE
        t1_b_avg NUMERIC;
    BEGIN
        --t1 テーブルを削除します。
        CREATE TABLE t1 (a int, b int, c int, d int);
    	RAISE NOTICE 'Finish CREATE ';
        FOR i IN 1..10 LOOP
    	 INSERT INTO t1 VALUES (i, i, i, i);
    	END LOOP;
    	RAISE NOTICE 'Finish INSERT ';
        SELECT avg(t1.b) INTO t1_b_avg FROM t1 LIMIT 1;
    	RAISE NOTICE 'Finish SELECT: avg=[%] ', t1_b_avg;
    	DROP TABLE t1;
        RETURN a + b + t1_b_avg;
    END;
    $$ LANGUAGE plpgsql;
  3. 関数を呼び出して、期待どおりに動作することを確認します:

    SELECT add_numbers(1, 3);
  4. pgAdmin を開き、[Object] > [Register] > [Server] を選択します。

  5. [Register-Server] ダイアログボックスの [General] タブで、サーバー名 (例: test) を入力します。

  6. [Register-Server] ダイアログボックスの [Connection] タブで、次のパラメーターを設定し、[Save] をクリックしてサーバーを作成します:

    パラメーター

    説明

    [Host name/address]

    AnalyticDB for PostgreSQL インスタンスのパブリックエンドポイントです。詳細については、「パブリックエンドポイントの管理」をご参照ください。

    [Port]

    AnalyticDB for PostgreSQL インスタンスのポート番号です。

    [Maintenance database]

    このパラメーターを postgres に設定します。

    [Username]

    AnalyticDB for PostgreSQL インスタンスのデータベースアカウントです。

    [Password]

    データベースアカウントのパスワードです。

  7. 左側のサーバー一覧で、[test] > [Databases] > [postgres] > [Schemas] > [public] > [Functions] に移動して、デバッグする関数を見つけます。

  8. 関数を右クリックし、[Debugging] > [Debug] を選択します。

  9. [Debugger] ウィンドウで、関数の入力パラメーターを入力し、[Debug] をクリックします。この例では、パラメーター a と b の値は両方とも 2 に設定されています。

  10. デバッグパネルで、左上隅にあるデバッグアイコン ts.png をクリックします。

  11. デバッグセッションが終了したら、デバッグパネルの下部にある [Messages] タブと [Result] タブで結果を表示できます。

    [Messages] タブ:関数実行中に生成されたテキスト出力を表示します。

    [Result] タブ:関数実行後の戻り値を表示します。