在运行存储过程时,该过程可能会引发警告消息。
有没有办法在Golang中使用Postgresql驱动程序(https://github.com/lib/pq)获取这些消息?
答案 0 :(得分:2)
答案似乎是否定。
在我的测试中,Postgres服务器似乎没有发送带有结果的警告。即使它确实如此,返回错误以及sql.Result最多也会令人困惑,并且需要进行lib/pq
修改。在函数中引发错误会返回错误,但(显然)没有结果。
如果这是一个关键要求(并且您的功能可以支持它),您可以考虑使用notification channel。请记住,这会将您的代码绑定到Postgres。
-
这是我使用的功能:
CREATE OR REPLACE function fugo()
RETURNS bool as $$
BEGIN
RAISE WARNING 'My function notice.' USING errcode = '01000';
return TRUE;
END;$$
language 'plpgsql';
答案 1 :(得分:1)
对于datePickerDialog.getDatePicker().init(today.get(Calendar.YEAR), today.get(Calendar.MONTH), today.get(Calendar.DAY_OF_MONTH), null);
驱动程序,答案为“仍然否”。
有关详细信息,请参见open issue和sources。
与此同时,另一个驱动程序https://github.com/jackc/pgx支持当前(v4)版本的消息,请参见https://godoc.org/github.com/jackc/pgconn#Notice和更早的版本(请参见https://github.com/jackc/pgx/blob/v3/conn.go#L54)