ストアドプロシージャを実行しているときに、プロシージャは警告メッセージを生成できます。GolangでPostgresqlプロシージャの警告メッセージを取得するには
GolangでPostgresqlドライバ(https://github.com/lib/pq)を使用してこれらのメッセージを取得する方法はありますか?
ストアドプロシージャを実行しているときに、プロシージャは警告メッセージを生成できます。GolangでPostgresqlプロシージャの警告メッセージを取得するには
GolangでPostgresqlドライバ(https://github.com/lib/pq)を使用してこれらのメッセージを取得する方法はありますか?
答えはいいえのようです。
私のテストでは、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';