Cada declaración de PostgreSQL se ejecuta en una transacción.
PostgreSQL en sí mismo solo conoce el modo de confirmación automática, lo que significa que cada declaración se ejecutará en su propia transacción si no inicia una transacción explícitamente.
Declaraciones como VACUUM
no puede ejecutarse en la misma transacción con otras declaraciones.
Si no está utilizando la confirmación automática en psycopg2, el controlador debe simular el modo sin confirmación automática iniciando explícitamente una transacción cuando se ejecuta la primera instrucción.