Event-Trigger RDS für Postgre SQL - Amazon Relational Database Service

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.

Event-Trigger RDS für Postgre SQL

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 in der Postgre-Dokumentation. SQL

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.