如何显示PostgreSQL / PLPGSQL错误详细信息

时间:2019-07-01 19:16:56

标签: postgresql plpgsql

如何将系统生成的错误详细信息添加到RAISE NOTICE语句?例如,我收到与返回表结构有关的错误。 SQLERRM只是说“结构不符合预期”。但是,如果我关闭异常处理并查看系统生成的错误消息,则它会包含“ column bigint不符合预期的int”的其他详细信息。有没有办法获得该额外的行,以便我可以将其添加到我的RAISE NOTICE语句中?

当前用法: RAISE NOTICE '%', SQLERRM;

预期: RAISE NOTICE '% %', SQLERRM, SQLDET(?);

我看过PostgreSQL文档,但是所有这些似乎都与我是否要添加自己的注释有关-我在这里寻找的是使用似乎已经存在于系统中的东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在异常处理程序中使用GET STACKED DIAGNOSTICS获取详细信息。各种选项为shown here。我不确定您要寻找的是哪一个,但您应该尝试PG_EXCEPTION_DETAIL。