PolarDB PostgreSQL版(兼容Oracle)支持多種存儲過程語言,例如PLpgSQL、PL/Python、PL/Perl、PL/Tcl、PL/Java等等,您可以使用這些存儲過程語言創(chuàng)建對應的函數或存儲過程。PolarDB提供了pldebugger插件,可用于調試存儲過程。
前提條件
pgAdmin 4客戶端版本需要為V4.19及以上版本,如何下載pgAdmin 4請參見pgAdmin下載頁。
注意事項
PolarDB對pldebugger插件的連接數進行了限制,每臺集群最多可以啟動三個調試連接。如果因業(yè)務需求需要超過三個調試連接數,請前往配額中心,在配額名稱PolarDB PG pldebugger插件使用的操作列,單擊申請,申請調試連接。
例如,當前已有三個debugger調試連接,此時第四個調試連接無法正常運行,可以關閉一個正常運行的連接
創(chuàng)建插件
請使用polar_superuser用戶對插件進行創(chuàng)建與調試。
postgres=# CREATE EXTENSION if not exists pldbgapi;
CREATE EXTENSION
使用插件
使用pgAdmin 4連接PolarDB集群,具體操作請參見連接數據庫集群。
找到待調試函數,右鍵該函數,單擊 。
至此,即可在pgAdmin 4中使用pldebugger插件。
在pgAdmin 4頁面右側函數調試框中,您可以對目標函數進行單步調試,例如
step into/over
、continue
、加設斷點以及停止等操作。在pgAdmin 4頁面底部,您可以查看調試過程中顯示的局部變量信息、調試結果以及函數堆棧。
調試連接數監(jiān)控
PolarDB提供了pldebugger調試連接數監(jiān)控函數,您可以使用該函數查看已有的調試連接和默認設置的最大連接。
postgres=# select * from polar_monitor_pldebugger_count();
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)
current_connection
:當前已使用的連接數。max_connection
:默認的最大調試連接數。
通過以上示例可以看出,當前有六個已使用的連接。由于一個pldebugger調試會使用兩個連接數,可以看出以上示例中有三個處于調試中pldebugger進程;最多允許有三個pldebugger調試進程。