PolarDB PostgreSQL版支持多种存储过程语言,例如PLpgSQL、PL/Python、PL/Perl、PL/Tcl、PL/Java等等,您可以使用这些存储过程语言创建对应的函数或存储过程。PolarDB提供了pldebugger插件,可用于调试存储过程。
前提条件
pgAdmin 4客户端版本需要为V4.19及以上版本,如何下载pgAdmin 4请参见pgAdmin下载页。
注意事项
PolarDB对pldebugger插件的连接数进行了限制,每台集群最多可以启动三个调试连接。如果因业务需求需要超过三个调试连接数,请前往配额中心,在配额名称PolarDB PG pldebugger插件使用的操作列,单击申请,申请调试连接。
例如,当前已有三个debugger调试连接,此时第四个调试连接无法正常运行,可以关闭一个正常运行的连接
创建插件
使用高权限账号对插件进行创建与调试。
CREATE EXTENSION IF NOT EXISTS pldbgapi;
使用插件
使用pgAdmin 4连接PolarDB集群,具体操作请参见连接数据库集群。
找到待调试函数,右键该函数,单击 。
至此,即可在pgAdmin 4中使用pldebugger插件。
在pgAdmin 4页面右侧函数调试框中,您可以对目标函数进行单步调试,例如
step into/over
、continue
、加设断点以及停止等操作。在pgAdmin 4页面底部,您可以查看调试过程中显示的局部变量信息、调试结果以及函数堆栈。
调试连接数监控
PolarDB提供了pldebugger调试连接数监控函数,您可以使用该函数查看已有的调试连接和默认设置的最大连接。
仅PolarDB PostgreSQL版PostgreSQL 11支持pldebugger调试连接数监控函数。
SELECT * FROM polar_monitor_pldebugger_count();
返回结果如下:
current_connection | max_connection
--------------------+----------------
6 | 6
(1 row)
current_connection
:当前已使用的连接数。max_connection
:默认的最大调试连接数。
通过以上示例可以看出,当前有六个已使用的连接。由于一个pldebugger调试会使用两个连接数,可以看出以上示例中有三个处于调试中pldebugger进程;最多允许有三个pldebugger调试进程。