[GELÖST] Trigger mit NOTIFY geht, pg_notify nicht

Hallo,

ich habe hier eine Testdatenbank, bei der ich mit einem Trigger bei bestimmten Änderungen eine Notify auslösen will. Mache ich dies mittels dem Befehl notify, so funktioniert das ohne Probleme. Da ich jedoch den Payload variabel benötige, würde ich gerne die Funktion pg_notify nutzen. Allerdings wird in diesem Fall kein Notify ausgelöst. Mache ich hier etwas falsch?

Trigger:

CREATE TRIGGER alert_notify
  AFTER INSERT OR UPDATE
  ON public.services 
  FOR EACH row
  EXECUTE PROCEDURE alert_notify();

Funktion:

CREATE OR REPLACE FUNCTION alert_notify() 
  RETURNS trigger
  LANGUAGE plpgsql
  AS
$$
begin
	if new.failed_count >= new.warn_after then 
	  notify AlertUser, 'Fehler';
      PERFORM pg_notify('AlertUser', 'ALERT;' || cast(new.id as varchar));
    elsif  new.failed_count = 0 and old.failed_count > 0 then
      notify AlertUser, 'Gut';
      PERFORM pg_notify('AlertUser', 'OK;' || cast(new.id as varchar));
    end if;
    RETURN NEW; 
END;
$$

Und hier das Ergebnis, wenn man die Werte manuell in der Tabelle ändert:

=# LISTEN AlertUser;
LISTEN
Asynchronous notification "alertuser" with payload "Fehler" received from server process with PID 52021.
Asynchronous notification "alertuser" with payload "Gut" received from server process with PID 52021.

Man sieht schön, dass nur die notify ausgelöst werden (da deutsche Begriffe). Was mache ich hier falsch?

Verwendete Software: PostgreSQL 13.2p1 auf OpenBSD 6.9

Vielen Dank und schöne grüße

Versuch mal die Channel alle in lower case, sowohl beim pg_notify, als auch beim LISTEN.
Wenn Du Groß/Kleinschreibung brauchst, dann muss der LISTEN Channel in “”. Und dann muss natürlich die Quelle in exakter Schreibweise zum Konsumer bezeichnet werden.
Ich versuche immer Groß/Kleinschreibung Probleme zu vermeiden bzw. das Gefledder mit Anführungszeichen.

Das ja interessant… Das ist es wirklich! Den Channel klein geschrieben und es funktioniert. Da hätte ich ewig weiter suchen können… Danke!

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.