在运行存储过程时,该过程可能会引发警告消息。
有什么办法可以在Golang中使用Postgresql驱动程序(https://github.com/lib/pq)获取这些消息?
答案似乎是否定的。
在我的测试中,Postgres服务器似乎没有发送警告和结果。即使这样做,返回错误以及sql.Result充其量也将造成混乱,并且需要lib/pq进行修改。在函数 中 引发错误 确实 返回了错误,但是(显然)没有结果。
lib/pq
如果这是关键要求(您的功能可以支持),则可以考虑使用通知通道。请记住,这会将您的代码绑定到Postgres。
--
这是我使用的功能:
CREATE OR REPLACE function fugo() RETURNS bool as $$ BEGIN RAISE WARNING 'My function notice.' USING errcode = '01000'; return TRUE; END;$$ language 'plpgsql';