PolarDB PostgreSQL版(兼容Oracle)支持多種存儲過程語言,例如PLpgSQL、PL/Python、PL/Perl、PL/Tcl、PL/Java等等,您可以使用這些存儲過程語言創建對應的函數或存儲過程。PolarDB提供了pldebugger插件,可用于調試存儲過程。

前提條件

pgAdmin 4客戶端版本需要為V4.19及以上版本,如何下載pgAdmin 4請參見pgAdmin下載頁

注意事項

PolarDB對pldebugger插件的連接數進行了限制,每臺集群最多可以啟動三個調試連接。如果因業務需求需要超過三個調試連接數,請前往配額中心,在配額名稱PolarDB PG pldebugger插件使用操作列,單擊申請,申請調試連接。

例如,當前已有三個debugger調試連接,此時第四個調試連接無法正常運行,可以關閉一個正常運行的連接

創建插件

請使用polar_superuser用戶對插件進行創建與調試。

postgres=# CREATE EXTENSION if not exists pldbgapi;
CREATE EXTENSION

使用插件

  1. 使用pgAdmin 4連接PolarDB集群,具體操作請參見連接數據庫集群
  2. 找到待調試函數,右鍵該函數,單擊Debugging > Debug
    使用pldebugger-1
  3. 至此,即可在pgAdmin 4中使用pldebugger插件。
    使用pldebugger-2
    • 在pgAdmin 4頁面右側函數調試框中,您可以對目標函數進行單步調試,例如step into/overcontinue、加設斷點以及停止等操作。
    • 在pgAdmin 4頁面底部,您可以查看調試過程中顯示的局部變量信息、調試結果以及函數堆棧。

調試連接數監控

PolarDB提供了pldebugger調試連接數監控函數,您可以使用該函數查看已有的調試連接和默認設置的最大連接。

postgres=# select * from polar_monitor_pldebugger_count();
 current_connection | max_connection
--------------------+----------------
                  6 |              6
(1 row)
  • current_connection:當前已使用的連接數。
  • max_connection:默認的最大調試連接數。

通過以上示例可以看出,當前有六個已使用的連接。由于一個pldebugger調試會使用兩個連接數,可以看出以上示例中有三個處于調試中pldebugger進程;最多允許有三個pldebugger調試進程。