および は、PL/pgSQL、PL/Python、PL/Perl、PL/Tcl、PL/Java など、さまざまなストアドプロシージャ言語をサポートしています。これらの言語を使用して、関数やストアドプロシージャを作成できます。PolarDB は、これらの関数やストアドプロシージャをデバッグするために pldebugger 拡張を提供しています。
前提条件
pgAdmin 4 クライアントは、バージョン 4.19 以降である必要があります。pgAdmin 4 をダウンロードするには、pgAdmin のダウンロードページをご参照ください。
使用上の注意
PolarDB は、pldebugger 拡張の接続数を制限します。各クラスターは、最大 3 つの同時デバッグセッションをサポートします。デバッグセッションの追加をリクエストするには、クォータセンターに移動し、「PolarDB PG pldebugger plugin usage」という名前のクォータ項目を見つけ、Operationの 申請 をクリックします。
たとえば、3 つのデバッグセッションがすでにアクティブな場合、4 番目のセッション開始試行は失敗します。続行するには、アクティブな接続のいずれかを閉じる必要があります。
拡張の作成
polar_superuser ユーザーを使用して、拡張を作成し、デバッグします。
postgres=# CREATE EXTENSION if not exists pldbgapi;
CREATE EXTENSION拡張の使用
pgAdmin 4 を使用して PolarDB クラスターに接続します。手順については、「」をご参照ください。
デバッグする関数を見つけて右クリックし、[デバッグ] > [デバッグ] を選択します。

pgAdmin 4 で pldebugger インターフェイスが開きます。

pgAdmin 4 ページの右側にある関数デバッグペインで、実行を制御できます。たとえば、
ステップイン/ステップオーバーを使用したコードのステップ実行、続行を使用して実行を再開、ブレークポイントの設定、セッションの停止が可能です。pgAdmin 4 ページの下部にある [ローカル変数]、[結果]、[スタック] の各ペインで情報を表示できます。
デバッガー接続のモニタリング
PolarDB は、アクティブなデバッガー接続数とデフォルトの最大制限を表示するためのモニタリング関数を提供しています。
postgres=# select * from polar_monitor_pldebugger_count();
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)current_connection:アクティブな接続数。max_connection:許可されているデバッガー接続の最大数。
この出力例は、6 つの接続が使用中であることを示しています。各 pldebugger のデバッグセッションは 2 つの接続を消費するため、この出力は 3 つの pldebugger プロセスが実行中であることを示しています。この設定では、同時 pldebugger プロセスの最大数も 3 です。