2017-02-06 30 views

回答

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';