Как в логах постгреса идентифицировать к какому запросу относится ROLLBACK?

В логах PostgreSQL для идентификации ROLLBACK запросов можно использовать несколько способов. Вот некоторые из них:

1. Использование уникального идентификатора транзакции (transaction ID):
В логах PostgreSQL каждая транзакция, включая ROLLBACK, имеет свой уникальный идентификатор, который называется XID (transaction ID). Этот идентификатор можно использовать для связи ROLLBACK с его соответствующим запросом. Обычно XID имеет формат "N/M", где N - идентификатор текущей транзакции, а M - идентификатор предыдущей завершенной транзакции.
Пример:

   [timestamp] LOG:  00000: statement: ROLLBACK
   [timestamp] LOG:  00000: transaction ID: 123/456

2. Использование уникального идентификатора сеанса (session ID):
В логах PostgreSQL каждый клиентский сеанс имеет уникальный идентификатор (session ID), который можно использовать для идентификации запросов, включая ROLLBACK. Обычно сеансовый идентификатор имеет формат "N-M", где N - идентификатор процесса сервера PostgreSQL, а M - идентификатор клиентского сеанса.
Пример:

   [timestamp] LOG:  00000: statement: ROLLBACK
   [timestamp] LOG:  00000: session ID: 123-456

3. Использование SQLSTATE кода:
В логах PostgreSQL каждый запрос, включая ROLLBACK, может сопровождаться SQLSTATE кодом, который указывает на тип ошибки или состояния запроса. Коды SQLSTATE могут быть разными в зависимости от версии PostgreSQL, но обычно для ROLLBACK использовуется код "40P01". Этот код можно использовать для идентификации ROLLBACK запроса в логах.
Пример:

   [timestamp] LOG:  00000: statement: ROLLBACK
   [timestamp] LOG:  00000: SQLSTATE: 40P01

Все эти методы могут быть использованы в сочетании для более надежной идентификации ROLLBACK запросов в логах PostgreSQL.