16.1. Обзор

Postgres Pro поддерживает вложенные транзакции: они редко явно используются программистами; чаще всего они применяются для обработки ошибок и хранимых процедур. Вложенную подтранзакцию можно откатить, никак не влияя на родительскую транзакцию, но её фиксирование откладывается до момента фиксирования родительской транзакции.

Однако в некоторых случаях приложениям требуется выполнять в рамках одной транзакции несколько независимых транзакций — «автономные транзакции». Автономные транзакции нужны в первую очередь для реализации аудита, когда факт попытки действия, подлежащего аудиту, должен быть зафиксирован независимо от того, будет ли это действие завершено успешно или нет.