如何在PostgreSQL中调试plpgsql存储过程
发布网友
发布时间:2022-04-26 21:14
我来回答
共1个回答
热心网友
时间:2022-05-01 10:26
PostgreSQL有pldbgapi扩展,先安装此扩展。
首先,需要将debug的模组载入到PostgreSQL服务器中去。做法是: 在pgAdminIII中以管理员登录,然后选择菜单“工具->服务器配置->postgresql.conf”,
在配置窗口中,双击项目"shared_preload_libraries",
在其设定窗口中,将值设置成plugin_debugger的路径(Windows 9.3版本的为$libdir/plugin_debugger.dll, $libdir一般为PostgreSQL安装目录下的lib文件夹)。非Windows系统的后缀名会有所不同,可能为plugin_debugger.so。
注意,在做这一步时最好先备份配置文件,以防指定文件找不到而导致服务器不能启动。
在设定完成之后,重新启动PostgreSQL服务(以启动debug插件)。
然后在pgAdminIII中扩展安装时选择如下图项目,
这样在函数的右键菜单中就有调试选项了,
当然,最常用的调试方式就是自己直接调用函数来查看执行结果是否正确。
如何在PostgreSQL中调试plpgsql存储过程
首先,需要将debug的模组载入到PostgreSQL服务器中去。做法是: 在pgAdminIII中以管理员登录,然后选择菜单“工具->服务器配置->postgresql.conf”,在配置窗口中,双击项目"shared_preload_libraries",在其设定窗口中,将值设置成plugin_debugger的路径(Windows 9.3版本的为$libdir/plugin_debugger.dll, $...
在postgresql中创建带游标的存储过程(function)
在postgresql中创建带游标的存储过程(function)一般在plsql中执行存储过程的方式有两种,一种是带参数的 begin 存储过程名(参数1,参数2...); end; 另一种是不带参数的 begin 存储过程名; end; 注意标点的写法,都是英文写法的
postgresql 存储过程的事务处理
1.数据库一加载 plpgsql语言。如没有,su - postgres createlang plpgsql dbname 2.至于返回类型为bool,是因为我不知道如何让函数不返回值。等待改进。
postgresql如何写存储过程!急急急
BODY LANGUAGE 'plpgsql' VOLATILE;select test();http://bianbian.org/technology/52.html 里面有比较详细的介绍
Postgres-存储过程 return 详解
LANGUAGE PLPGSQL;注意 1. 读取表的整行数据时才能用 record 2. 如果读取的数据不是整行,需要自定义 复合数据类型,否则会报如下错误 ERROR: acolumndefinition listisrequiredforfunctions returning "record"定义复合类型 ,示例如下 createtype myout2as (road_num int,freq bigint);createor...
postgresql存储过程怎么写
LANGUAGE PLPGSQL;-- 给表加上触发器 CREATE TRIGGER tbefore BEFORE INSERT ON test FOR EACH ROW EXECUTE PROCEDURE _replace();-- 插入两个值 insert into test(id , name) values(1,'1');insert into test(id , name) values(1,'6');select * from test;结果:pumpkin=> select * ...
MyBatis怎么调用PostgreSQL存储过程
1.调用没有OUT参数的存储过程:创建存储过程:create or replace function get_code(a1 varchar(32)) returns varchar(32) as declare the_result varchar(32);begin the_result := name from t_project where id = a1;return the_result;end;language plpgsql;sqlMap配置文件: <![CDATA[select ...
postgresql中record返回值该怎么调用
在查询语句中直接使用,需要注意的是要在函数调用中指出record中各成员的数据类型。示例函数:create or replace function ads.rtnRecord ()returns recordas $$declarev_data record;begin v_data := (1, 'Hello'::character varying); return v_data;end;$$ language plpgsql;调用SQL(用as将record...
Oracle存储过程改写为PostgreSql的存储过程
PostgreSQL中只有function (没有create procedure的语句,都用create function来做)。具体的区别来说,首先就是语法稍有不同: Oracle为P/L SQL的语法,PostgreSQL为PLPGSQL;然后是一些类型处理的不同。可以把Oracle的存储过程贴出来看看。
java怎么处理postgresql的存储函数返回的数组?
postgreSQL的JDBC驱动是支持数组返回的,数组对应的类型为org.postgresql.jdbc4.Jdbc4Array(我用的是jdbc4).一个示例, 函数如下:create or replace function fn_rtbAry()returns integer[]as $fn_rtbAry$begin return '{10, 20, 30}'::integer[];end;$fn_rtbAry$ language plpgsql;Java中获得...