# Verhalten des Servers wÃ¤hrend der Ã„nderung einer Trigger-Funktion

**URL:** https://www.pg-forum.de/t/verhalten-des-servers-wa-hrend-der-a-nderung-einer-trigger-funktion/5378
**Category:** Trigger und Funktionen
**Created:** [2. September 2010 um 11:48 UTC](https://www.pg-forum.de/t/verhalten-des-servers-wa-hrend-der-a-nderung-einer-trigger-funktion/5378 "2010-09-02T11:48:36Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![helmutnn](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/h/c67d28/32.png) [@helmutnn](https://www.pg-forum.de/u/helmutnn)
#### Post date: [2. September 2010 um 11:48 UTC](https://www.pg-forum.de/t/verhalten-des-servers-wa-hrend-der-a-nderung-einer-trigger-funktion/5378/1 "2010-09-02T11:48:36Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![akretschmer](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@akretschmer](https://www.pg-forum.de/u/akretschmer)
#### Post date: [2. September 2010 um 12:10 UTC](https://www.pg-forum.de/t/verhalten-des-servers-wa-hrend-der-a-nderung-einer-trigger-funktion/5378/2 "2010-09-02T12:10:55Z")

</div>

> [@helmutnn](#):
>
> 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

---

<div class="post-metadata">

### Author: ![ads](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/8e7dd6/32.png) [@ads](https://www.pg-forum.de/u/ads)
#### Post date: [2. September 2010 um 12:23 UTC](https://www.pg-forum.de/t/verhalten-des-servers-wa-hrend-der-a-nderung-einer-trigger-funktion/5378/3 "2010-09-02T12:23:29Z")

</div>

Allerdings benötigt das Ändern der Tabelle sowieso einen Exklusiven Lock. Von daher stellt sich dieses Problem wahrscheinlich gar nicht.

---

<div class="post-metadata">

### Author: ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)
#### Post date: [21. Februar 2021 um 07:09 UTC](https://www.pg-forum.de/t/verhalten-des-servers-wa-hrend-der-a-nderung-einer-trigger-funktion/5378/4 "2021-02-21T07:09:14Z")

</div>


