BEGIN
со стандартным API БД Python всегда неявно. Когда вы начинаете работать с базой данных, драйвер выдает BEGIN
, а после любого COMMIT
или ROLLBACK
выдается еще один BEGIN
. API Python DB, совместимый со спецификацией, должен всегда работать таким образом (не только postgresql).
Вы можете изменить эту настройку уровня изоляции на автоматическую фиксацию с помощью db.set_isolation_level(n)
, как указал Алекс Мартелли.
Как сказал Тебас, начало неявно, но не выполняется до тех пор, пока не будет выполнен SQL, поэтому, если вы не выполняете SQL, сеанс не находится в транзакции.