pldbgapi
若您需对已有Function(函数)进行开发或调试,可以安装pldbgapi插件并使用PL/pgSQL的调试功能,根据需求设置条件、程序断点、变量值等轻松实现。
功能介绍
在AnalyticDB PostgreSQL版中,PL/pgSQL是一种用于编写存储过程和用户自定义函数(UDF)的扩展语言,它结合了SQL的数据查询和数据处理能力,补充了过程控制和编程特性,允许用户使用变量、条件、循环、异常处理等来实现复杂的逻辑和操作。
pldbgapi插件结合PL/pgSQL功能可用于调试,即类似使用GDB(GNU Debugger)调试C语言程序,可以设置程序断点,进行单步调试,显示变量运行值等。使用pldbgapi插件的PL/pgSQL功能可以使Function的开发、调试变得简便。
注意事项
操作步骤
安装pldbgapi插件:请您在云原生数据仓库 AnalyticDB PostgreSQL 版实例插件管理中安装pldbgapi插件。具体操作,请参见安装、升级与卸载插件。
登录AnalyticDB PostgreSQL版数据库,创建用于PL/pgSQL调试的Function。本文Function示例如下。
CREATE OR REPLACE FUNCTION add_numbers(a int, b int) RETURNS NUMERIC AS $$ DECLARE t1_b_avg NUMERIC; BEGIN --DROP TABLE t1; CREATE TABLE t1 (a int, b int, c int, d int); RAISE NOTICE 'Finish CREATE '; FOR i IN 1..10 LOOP INSERT INTO t1 VALUES (i, i, i, i); END LOOP; RAISE NOTICE 'Finish INSERT '; SELECT avg(t1.b) INTO t1_b_avg FROM t1 LIMIT 1; RAISE NOTICE 'Finish SELECT: avg=[%] ', t1_b_avg; DROP TABLE t1; RETURN a + b + t1_b_avg; END; $$ LANGUAGE plpgsql;
查询表数据,验证Function可用。
SELECT add_numbers(1, 3);
打开pgAdmin,单击
。在Register-Server页面的General页签,设置Server名称,如
test
。在Register-Server页面的Connection页签,填写如下参数,并单击Save完成Server创建。
参数
描述
Host name/address
AnalyticDB PostgreSQL版实例的外网地址。详细信息,请参见管理外网地址。
Port
AnalyticDB PostgreSQL版实例的端口号。
Maintenace database
固定为postgres。
Username
AnalyticDB PostgreSQL版实例的账号。
Password
账号密码。
在左侧Servers列表中,在目标Servers中单击
定位到待调试的Function。右键单击待调试的Function,并选择
。在Debugger页面,设置函数输入参数,并单击Debug。本文示例设置Name为a和b的值为2,且a不为空。
在调试区域,单击左上角调试按钮。
调试结束后,可在调试区域下方的Messages和Result页签查看调试结果。
Messages页签:显示Function运行过程中的文本输出。
Result页签:显示Function执行完成后的返回值。