如何显示 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。