O que significa autocommit no postgresql e psycopg2?
A confirmação automática significa o mesmo no PostgreSQL e no Psycopg2?
Do manual do PostgreSQL
Por padrão (sem BEGIN), o PostgreSQL executa transações no modo "autocommit", ou seja,cada instrução é executada em sua própria transação euma confirmação é implicitamente executada no final da instrução (se a execução foi bem-sucedida, caso contrário, uma reversão é feita).
Isso significa que a confirmação automática criará uma transação para cada comando?
DePsycopg2 manual do motorista
É possível configurar a conexão no modo de confirmação automática: desta formatodos os comandos executados serão imediatamente confirmados e nenhuma reversão é possível. Alguns comandos (por exemplo, CREATE DATABASE, VACUUM ...) precisam ser executados fora de qualquer transação: para poder executar esses comandos no Psycopg, a conexão deve estar no modo de confirmação automática: você pode usar a propriedade de confirmação automática.
psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT
Nenhuma transação é iniciada quando os comandos são executados e nenhuma confirmação () ou reversão () é necessária. Alguns comandos do PostgreSQL, como CREATE DATABASE ou VACUUM, não podem executar uma transação: para executar esse comando, use:
>>> conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
"Todos os comandos executados serão imediatamente confirmados" significa que a confirmação automática no Psycopg2 cria uma transação para cada comando?
"Nenhuma transação é iniciada quando os comandos são executados e nenhum commit () ou rollback () é necessário" significa que a confirmação automática no Psycopg2 impedirá uma transação criada para cada comando?
"Algum comando do PostgreSQL, como CREATE DATABASE ou VACUUM, não pode executar uma transação: para executar esse comando, ative o modo de confirmação automática" significa que a confirmação automática no Psycopg2 impedirá uma transação criada apenas para alguns comandos (CREATE DATABASE ou VACUUM)?
Obrigado.