PolarDB for PostgreSQL (Oracle互換) は、PL/pgSQL、PL/Python、PL/Perl、PL/Tcl、PL/Javaなどの複数のストアドプロシージャ言語 (SPL) をサポートしています。 これらのSPLを使用して、関数またはストアドプロシージャを作成できます。 PolarDBは、ストアドプロシージャをデバッグするためのpldebugger拡張機能を提供します。
前提条件
pgAdmin 4クライアントのバージョンはv4.19以降です。 pgAdmin 4クライアントのダウンロード方法の詳細については、「ダウンロード」をご参照ください。
注意事項
PolarDBは、pldebugger拡張機能への最大接続数を制限します。 各クラスターは、pldebugger拡張機能に最大3つの接続を持つことができます。 クラスターで3つ以上の接続を使用するには、クォータセンターに移動します。 PolarDB PG pldebuggerプラグインの使用に対応する [操作] 列の [適用] をクリックします。
それ以外の場合、既存の3つの接続に加えて、クラスターとpldebuggerの間に新しい接続を開始する必要がある場合は、既存の接続の1つを閉じる必要があります。
pldebugger拡張機能を作成します。
polar_superuserユーザーとして拡張機能を作成してデバッグします。
postgres=# CREATE EXTENSION if not exists pldbgapi;
CREATE EXTENSION
pldebugger拡張機能の使用
pgAdmin 4を使用してPolarDBクラスターに接続します。 詳細については、「クラスターへの接続」をご参照ください。
デバッグする関数を見つけて、関数を右クリックし、 を選択します。
pgAdmin 4でpldebugger拡張機能を使用します。
pgAdmin 4ページの右側にある関数のデバッグセクションでは、
step into/over
、続行
、ブレークポイントの設定、停止などのステップごとの操作を実行して、関数をデバッグできます。pgAdmin 4ページの下部に、デバッグ中のローカル変数、デバッグ結果、および関数スタックを表示できます。
pldebuggerへの接続の監視
PolarDBでは、pldebuggerへの接続を監視できます。 次の関数を使用して、既存の接続数とpldebuggerへのデフォルトの最大接続数を照会できます。
postgres=# select * from polar_monitor_pldebugger_count();
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)
current_connection
: 既存の接続数max_connection
: デフォルトの最大接続数
上記の例では、6つの接続が使用されます。 各pldebuggerデバッグプロセスには2つの接続が必要です。 したがって、前の例では3つのデバッグプロセスが存在します。 最大3つのpldebuggerプロセスが許可されます。