Transaktionen sind atomar, das ist ihr Sinn. Eine Menge von Befehlen abarbeitungstechnisch zu einem großen zusammenzufassen. Also entweder alle oder keiner. Wenn also das System eine SP als Transaktion auffasst, hast du das gesuchte erreicht.
Sicher?
Transaktionen werden zwar ganz oder gar nicht ausgeführt, aber atomar sind sie nicht, atomar heißt doch das die Transaktion nicht unterbrochen wird - und das muss man bei pg extra einstellen (siehe auch 12.2. Transaction Isolation) oder hab ich was falsch verstanden?