当前位置: 首页 > news >正文

postgresql 函数调试

1. 使用 plpgsql 的调试功能

如果你的函数是用 plpgsql(PostgreSQL 的过程语言)编写的,你可以利用内置的调试功能。这包括使用 RAISE 语句来输出信息,以及设置断点。

CREATE OR REPLACE FUNCTION test_function() RETURNS void AS $$
BEGIN
    RAISE NOTICE 'Starting function';
    -- 你的代码逻辑
    RAISE NOTICE 'Function completed';
END;
$$ LANGUAGE plpgsql;

设置断点

虽然 plpgsql 不像某些高级编程语言那样直接支持断点,但你可以通过在代码中巧妙地放置 RAISE 语句来模拟这一过程:

CREATE OR REPLACE FUNCTION test_function() RETURNS void AS $$
BEGIN
    RAISE NOTICE 'At start';
    -- 你的代码逻辑
    RAISE NOTICE 'Before critical section';
    -- 你的代码逻辑(关键部分)
    RAISE NOTICE 'After critical section';
    -- 你的代码逻辑
    RAISE NOTICE 'Function completed';
END;
$$ LANGUAGE plpgsql;

 

当然我们PostgreSQL 也有相应的函数 RAISE NOTICE 'This is a log %', param;

% 占位符 param 替换的值

do $g$
DECLAREv_job_id int := 100;
BEGINRAISE NOTICE 'Calling cs_create_job(%)', v_job_id;
END;
$g$;

postgres=# do $g$
postgres$# DECLARE
postgres$#   v_job_id int := 100;
postgres$# BEGIN
postgres$#   RAISE NOTICE 'Calling cs_create_job(%)', v_job_id;
postgres$# END;
postgres$# $g$;
NOTICE:  Calling cs_create_job(100)
DO

http://www.lqws.cn/news/459739.html

相关文章:

  • FastAPI lifespan示例
  • 《道德经》:探寻古老智慧中的哲学之光
  • 将无序json数据转换为excel表格形式
  • 一生一芯 PA2 RTFSC
  • 5.基于神经网络的时间序列预测
  • 数据库中间件ShardingSphere5
  • Vue学习笔记
  • Dify动手实战教程(进阶-知识库:新生入学指南)
  • 让大模型“更懂人话”:对齐训练(RLHF DPO)全流程实战解析
  • 《王者荣耀》系统架构深度技术解析
  • 进阶五 按键切换不同led流水效果
  • 李宏毅 《生成式人工智能导论》| 第6讲-第8讲:大语言模型修炼史
  • 关于ubuntu环境下vscode进行debug的随笔
  • 【工具教程】识别PDF中文字内容,根据文字内容对PDF批量重命名,提取识别PDF内容给图片重新命名的操作步骤和注意事项
  • 第十三章 模板
  • 机器学习流量识别(pytorch+NSL-KDD+多分类建模)
  • 自动化性能回退机制——蓝绿部署与灰度发布
  • 前端 CSS 框架:分类、选择与应用
  • 「AI高校」| 《清华大学:AI赋能教育高考志愿填报工具使用指南》
  • 新品上市 | 尺寸小且具有丰富接口的读卡器:RFID高频系列CK-FR06
  • MySQL之事务深度解析
  • django FileSystemStorage is located outside of the base path component
  • Android Studio报错:Could not move temporary workspace () to immutable location
  • NY339NY341美光固态闪存NW841NW843
  • MySQL入门初解
  • 数据分析和可视化:Py爬虫-XPath解析章节要点总结
  • 【Dify学习笔记】:RagFlow接入Dify基础教程
  • Real-World Deep Local Motion Deblurring论文阅读
  • Linux——linux的基本命令
  • ceph 自动调整 pg_num