Importieren Sie PostgreSQL-Trigger beim Start. Überwintern
Ich habe einige gespeicherte Funktionen und Trigger in meinem PostgreSQL. Z.B. :
CREATE OR REPLACE FUNCTION log_function() RETURNS TRIGGER AS $logger$
BEGIN
IF (TG_OP = 'DELETE') THEN
INSERT INTO logger SELECT 'D', now(), user, OLD.*;
RETURN OLD;
END IF;
RETURN NULL;
END;
$logger$ LANGUAGE plpgsql;
Und auslösen:
CREATE TRIGGER logging_trigger
AFTER INSERT OR UPDATE OR DELETE ON some_entity
FOR EACH ROW EXECUTE PROCEDURE log_function();
Und ich möchte diesen Code nach jeder Bereitstellung importieren. (Ich habe<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
)
Ich denke, es ist unmöglich für Funktionen, weil es plpgsql ist, aber für Trigger wäre es großartig. Ich habe versucht, Trigger zu import.sql hinzuzufügen, aber ich habeorg.postgresql.util.PSQLException: ERROR: syntax error at end of input
Und ich möchte diesen Code nicht auf Java-Ebene verschieben.
Irgendwelche Ideen?