select for update in Trigger

Hallo,

kann ich in einem Trigger ein
select … for update
ausführen?

Wenn ja, kann ich den dann einfach per commit abschliessen ?
Das Problem ist, das ja ein Trigger innerhalb einer äußeren Transaktion läuft, ein commit würde dann ja diese Transaktion abschliessen.
Hilft da ein
set savepoint xyz ; … commit xyz;
weiter ?

Nochmal, alles INNERHALB eines Triggers !
Das Select for update betrifft eine andere Tabelle.

Rolf

Das ‘select … for update’ sollte IMHO kein Problem sein.

Und ein Savepoint hilft Dir hier auch nicht weiter, man kann nicht in Zwischenschritten committen, ein savepoint nützt nur zum rollback dahin zurück.

Andreas

Ja, ich habe das mal so eingebaut, erzeugt zumindest keinen Fehler. Ob das for update auch lockt kann ich aber schwer prüfen, der Trigger läuft ja ruck zuck durch.
Ich lasse es jetzt mal so und gehe davon aus, dass es passt.
Rolf

Doch, kannst Du. Schaust Du einfach in pg_locks nach, ob das dort auftaucht. In der Trigger-Funktion. Und gibst das z.B. als RAISE NOTICE aus.


Andreas