Hallo zusammen,
Ich erstelle bzw. modifiziere per Programm täglich die Tabellepartitionierung und die entsprechenden Trigger-Funktionen. Letztere werden per "CREATE OR REPLACE" geändert. Ist das Verhalten des Servers während der Änderung einer existierenden Trigger-Funktion definiert? Gibt es eine Phase des "Freiflugs", in der zu Inserts weder die neue noch die alte Funktion ausgeführt wird? Können für Prozesse, die während der Änderung der Funktion Inserts ausführen, wegen des laufenden Umbaus Fehler gemeldet werden?
DDL-Befehle unterliegen in PG genauso dem MVCC-Prinzip wie DML-Befehle. Mit anderen Worten: eine laufende Session sieht die Trigger-Funktion so, wie sie zu Begin der Transaktion war. Eine Änderung der Funktion während der Transaktion ist in der Session nicht sichtbar. Du brauchst also exakt keine Angst zu haben. Ist ja schließlich nicht MySQL oder ORACLE ...
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Allerdings benötigt das Ändern der Tabelle sowieso einen Exklusiven Lock. Von daher stellt sich dieses Problem wahrscheinlich gar nicht.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen