PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie bekomme ich Postgresql-Prozedur-Warnmeldungen?

Die Antwort scheint nein zu sein.

In meinen Tests schien der Postgres-Server die Warnung mit den Ergebnissen nicht zu senden. Selbst wenn dies der Fall wäre, wäre die Rückgabe eines Fehlers zusammen mit dem sql.Result bestenfalls verwirrend und würde lib/pq erfordern Modifikationen. Auslösen eines Fehlers in der Funktion did gibt einen Fehler zurück, aber (offensichtlich) kein Ergebnis.

Wenn dies eine kritische Anforderung ist (und Ihre Funktion dies unterstützen kann), können Sie die Verwendung eines Benachrichtigungskanal . Denken Sie daran, dass dies Ihren Code an Postgres binden würde.

--

Hier ist die Funktion, die ich verwendet habe:

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