PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come ottenere i messaggi di avviso della procedura Postgresql?

La risposta sembra essere no.

Nei miei test il server Postgres non sembrava inviare l'avviso con i risultati. Anche se lo facesse, restituire un errore insieme a sql.Result sarebbe al massimo confuso e richiederebbe lib/pq modifiche. Generazione di un errore nella funzione did restituisce un errore, ma (ovviamente) nessun risultato.

Se questo è un requisito critico (e la tua funzione può supportarlo) potresti prendere in considerazione l'utilizzo di un canale di notifica . Tieni presente che questo legherebbe il tuo codice a Postgres.

--

Ecco la funzione che ho usato:

CREATE OR REPLACE function fugo() RETURNS bool as $$ BEGIN RAISE WARNING 'My function notice.' USING errcode = '01000'; return TRUE; END;$$ language 'plpgsql';