pldbgapi 拡張機能は、AnalyticDB for PostgreSQL の PL/pgSQL 関数にインタラクティブなデバッグ機能を追加します。C プログラムで GNU デバッガー (GDB) を使用するのと同じように、ブレークポイントを設定し、コードを 1 行ずつステップ実行し、変数の値を確認できます。
前提条件
開始する前に、以下が準備できていることを確認してください。
V6.3.10.19 以降を実行している AnalyticDB for PostgreSQL V6.0 インスタンス。インスタンスのバージョンを確認するには、「マイナーエンジンバージョンの表示」をご参照ください。
pgAdmin バージョン 6.21。これ以降のバージョンは AnalyticDB for PostgreSQL と互換性がありません。pgAdmin から pgAdmin をダウンロードしてください。
拡張機能のインストール
AnalyticDB for PostgreSQL インスタンスの [拡張機能] ページから pldbgapi をインストールします。詳細な手順については、「拡張機能のインストール、更新、アンインストール」をご参照ください。
関数のデバッグ
ステップ1:デバッグする関数の作成
AnalyticDB for PostgreSQL データベースに接続し、PL/pgSQL 関数を作成します。次の例では、一時テーブルに行を挿入し、平均を計算して合計を返す add_numbers を作成します。
CREATE OR REPLACE FUNCTION add_numbers(a int, b int)
RETURNS NUMERIC AS $$
DECLARE
t1_b_avg NUMERIC;
BEGIN
--DROP TABLE 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;デバッグする前に関数が正しく実行されることを確認します。
SELECT add_numbers(1, 3);ステップ2:pgAdmin をインスタンスに接続
pgAdmin を開きます。上部のナビゲーションバーで、[Object] > [Register] > [Server] を選択します。
[Register-Server] ページの [General] タブで、サーバー名を入力します。例:
test。[Connection] タブで、次のフィールドを入力し、[Save] をクリックします。
パラメーター 説明 ホスト名/アドレス ご利用の AnalyticDB for PostgreSQL インスタンスのパブリックエンドポイントです。詳細については、「パブリックエンドポイントの管理」をご参照ください。 ポート ご利用のインスタンスのポート番号です。 メンテナンス用データベース データベース名です。postgres を指定します。 ユーザー名 ご利用のデータベースアカウントです。 パスワード ご利用のデータベースアカウントのパスワードです。
ステップ3:デバッガーの起動
左側のサーバーリストで、[test] > [Databases] > [postgres] > [Schemas] > [public] > [Functions] を展開します。
デバッグする関数を右クリックし、[Debugging] > [Debug] を選択します。

[Debugger] ページで、関数の入力パラメーターを指定し、[Debug] をクリックします。この例では、[a] と [b] を
2に設定し、[Null?] チェックボックスはオフのままにします。
ステップ4:コードのステップ実行
ページの左上隅にある
アイコンをクリックします。

ステップ5:結果の確認
実行が完了したら、[Messages] タブで関数実行中の出力テキストメッセージを、[Result] タブで関数完了後の戻り値を確認します。