Транзакция — группа SQL-операций, выполняемых как единое целое. Либо все операции успешны (COMMIT), либо все откатываются (ROLLBACK). Классический пример — перевод денег: списание с одного счёта и зачисление на другой должны произойти вместе.
tx, _ := pool.Begin(ctx)
defer tx.Rollback(ctx)
tx.Exec(ctx, "UPDATE accounts SET balance = balance - 100 WHERE id = $1", fromID)
tx.Exec(ctx, "UPDATE accounts SET balance = balance + 100 WHERE id = $1", toID)
tx.Commit(ctx)
В Go с pgx используешь pool.Begin(), выполняешь запросы через tx, и в конце Commit или Rollback. defer Rollback — идиоматичный паттерн: если Commit уже произошёл, Rollback ничего не делает.