Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Alle aktuellen SQL Postgre-Versionen unterstützen Ereignisauslöser, ebenso wie alle verfügbaren Versionen von RDS for Postgre. SQL Sie können das Hauptbenutzerkonto nutzen (Standard, postgres
), um Ereignisauslöser zu erstellen, zu ändern, umzubenennen und zu löschen. Ereignisauslöser befinden sich auf DB-Instance-Level und können so auf alle Datenbanken einer Instance angewendet werden.
Der folgende Code erstellt beispielsweise einen Event-Trigger, der den aktuellen Benutzer am Ende jedes Data Definition Language (DDL) -Befehls ausgibt.
CREATE OR REPLACE FUNCTION raise_notice_func()
RETURNS event_trigger
LANGUAGE plpgsql AS
$$
BEGIN
RAISE NOTICE 'In trigger function: %', current_user;
END;
$$;
CREATE EVENT TRIGGER event_trigger_1
ON ddl_command_end
EXECUTE PROCEDURE raise_notice_func();
Weitere Informationen zu SQL Postgre-Ereignisauslösern finden Sie unter Ereignisauslöser
Es gibt mehrere Einschränkungen bei der Verwendung von SQL Postgre-Event-Triggern bei AmazonRDS. Diese umfassen u. a. folgende:
-
Auf Read Replicas können keine Ereignisauslöser erstellt werden. Sie können jedoch Ereignisauslöser auf einer Read Replica-Quelle erstellen. Die Ereignisauslöser werden dann in die Read Replica kopiert. Die Ereignisauslöser auf der Read Replica werden nicht bei Änderungen, die von der Quelle ausgehen, ausgelöst. Wenn jedoch die Read Replica verwendet wird, werden die vorhandenen Ereignisauslöser bei Datenbank-Operationen ausgelöst.
-
Um ein Hauptversions-Upgrade für eine SQL Postgre-DB-Instance durchzuführen, die Ereignisauslöser verwendet, stellen Sie sicher, dass Sie die Ereignisauslöser löschen, bevor Sie die Instance aktualisieren.