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调试进程。