如何显示 PostgreSQL/PLPGSQL 错误详细信息
How do I Display PostgreSQL/PLPGSQL Error Detail
如何将系统生成的错误详细信息添加到 RAISE NOTICE 语句?例如,我收到与 return table 结构相关的错误。 SQLERRM 只是说 'structure not as expected'。但是,如果我关闭异常处理并查看系统生成的错误消息,它会包含 'column bigint not as expected int' 的其他详细信息。有没有办法获得该附加行,以便我可以将其添加到我的 RAISE NOTICE 声明中?
当前使用情况:
RAISE NOTICE '%', SQLERRM;
预计:
RAISE NOTICE '% %', SQLERRM, SQLDET(?);
我查看了 PostgreSQL 文档,但如果我想添加自己的评论,所有这些似乎都与 - 我在这里寻找的是使用系统中似乎已经存在的评论。
谢谢!
您可以在异常处理程序中使用 GET STACKED DIAGNOSTICS 来获取更多详细信息。各种选项是shown here。我不确定你要找的是哪一个,但你应该试试 PG_EXCEPTION_DETAIL。
如何将系统生成的错误详细信息添加到 RAISE NOTICE 语句?例如,我收到与 return table 结构相关的错误。 SQLERRM 只是说 'structure not as expected'。但是,如果我关闭异常处理并查看系统生成的错误消息,它会包含 'column bigint not as expected int' 的其他详细信息。有没有办法获得该附加行,以便我可以将其添加到我的 RAISE NOTICE 声明中?
当前使用情况:
RAISE NOTICE '%', SQLERRM;
预计:
RAISE NOTICE '% %', SQLERRM, SQLDET(?);
我查看了 PostgreSQL 文档,但如果我想添加自己的评论,所有这些似乎都与 - 我在这里寻找的是使用系统中似乎已经存在的评论。
谢谢!
您可以在异常处理程序中使用 GET STACKED DIAGNOSTICS 来获取更多详细信息。各种选项是shown here。我不确定你要找的是哪一个,但你应该试试 PG_EXCEPTION_DETAIL。