Digite para filtrar os verbetes do Glossário.

    Banco de dados · Formação DevOps

    O que é Rollback de transação?

    Rollback cancela alterações de uma transação não confirmada. Entenda seu alcance, o uso de savepoints e os efeitos que não são desfeitos pelo banco.

    Também chamado de: rollback, desfazimento, reversão de transação

    Cancelar alterações ainda não confirmadas

    Rollback de transação é o cancelamento das alterações transacionais que ainda não foram confirmadas. Ele encerra a unidade sem manter suas gravações como resultado definitivo. Operações confirmadas antes dessa transação não são desfeitas por esse comando.

    Imagine que uma rotina altera um cadastro e depois encontra uma condição que impede a conclusão. Se as mudanças continuam na mesma transação, o cancelamento permite descartá-las. O sistema não precisa publicar a alteração parcial para depois tentar corrigi-la.

    O escopo é essencial para interpretar o resultado. Um rollback não restaura o banco inteiro a um horário anterior, nem apaga todo efeito produzido pelo programa. Ele atua sobre a unidade transacional correspondente.

    Um exemplo com atualização

    Alteração cancelada no banco de desenvolvimentosql
    BEGIN;
    UPDATE contatos SET nome = 'Nome de teste' WHERE id = 7;
    ROLLBACK;

    Se o contato 7 existia, a atualização não deve permanecer confirmada ao final desse exemplo. A transação pode observar suas próprias alterações durante a execução. A leitura por outras sessões também depende do nível de isolamento configurado no banco.

    Erro e rollback não são sinônimos universais

    O efeito de um erro varia conforme o banco, a instrução e a biblioteca utilizada. Alguns mecanismos colocam a transação em estado de falha e exigem cancelamento antes de continuar. Outros podem cancelar apenas uma instrução em determinadas situações.

    Por isso, o código precisa usar o tratamento recomendado pela ferramenta. Capturar uma exceção e seguir para a confirmação pode preservar um conjunto diferente do pretendido. Testar o caminho de erro faz parte da verificação da operação.

    Cancelamento parcial com savepoint

    Um savepoint marca um ponto dentro da transação. Bancos que oferecem esse recurso permitem descartar alterações posteriores à marca e manter o trabalho anterior ainda pendente. A confirmação final continua sendo necessária para a parte que será preservada.

    Considere uma rotina que altera o telefone, cria um savepoint e tenta registrar uma preferência opcional. Se essa última etapa falhar, recuar até a marca pode descartar a preferência sem perder a alteração do telefone, ainda não confirmada. Esse uso só atende ao produto se a preferência puder falhar separadamente. Um vínculo obrigatório exigiria cancelar o conjunto.

    O que não volta com o rollback

    Emails enviados, arquivos gravados fora do mecanismo transacional e chamadas a outros serviços podem permanecer. No PostgreSQL, valores consumidos de sequências também podem deixar lacunas. O cancelamento das linhas não promete apagar logs ou todos os sinais da execução.

    Para conferir, provoque uma falha controlada em desenvolvimento e examine tanto os registros quanto os efeitos externos. O verbete de transação explica como escolher o conjunto de operações coberto pela confirmação e pelo cancelamento.

    Dúvidas frequentes

    Perguntas frequentes sobre Rollback de transação

    Rollback desfaz um commit anterior?
    O comando cancela a transação atual ainda não confirmada. Uma alteração já confirmada exige outro mecanismo de correção ou recuperação.
    Todo erro cancela automaticamente toda a transação?
    O efeito depende do banco, da instrução e da biblioteca. A aplicação deve seguir o tratamento documentado e testar o caminho de falha.
    O que um savepoint permite?
    Ele marca um ponto dentro da transação para cancelar alterações posteriores, preservando o trabalho anterior ainda pendente. O suporte e o comportamento dependem do banco.
    Rollback remove todos os sinais da execução?
    Logs, efeitos externos e valores consumidos de sequências podem permanecer. A garantia se refere às alterações transacionais cobertas pelo cancelamento.

    Para continuar

    Recursos relacionados

    Aplicação na formação

    Formação DevOps

    O rollback cancela as alterações transacionais ainda não confirmadas dentro da unidade correspondente.

    Conhecer a formação
    Capa da Formação DevOps

    Fontes consultadas

    Referências deste verbete

    Este verbete ajudou você?

    Planos Promovaweb

    Tire seus projetos do papel

    O Plano Martech cobre automação e atendimento. O Plano IA Makers acrescenta desenvolvimento com IA, enquanto o Plano Founders trata de gestão de negócios. Todos são anuais.

    Plano Martech

    Para conectar automação, marketing e atendimento com infraestrutura própria.

    R$ 897

    R$ 597/ano

    • Grade de automação, atendimento, marketing e análise de indicadores
    • Instalador Exclusivo Promovaweb
    • n8n, Evolution API, Chatwoot e Mautic
    • Trilha DevOps incluída
    • Encontros ao vivo (terça e quinta)
    • Comunidade e acompanhamento
    Conhecer o plano

    Plano Founders

    Plano anual para fazer um projeto de tecnologia avançar, com 90 dias de mentoria intensiva. R$ 1.997 à vista ou até 10x de R$ 219 no cartão.

    R$ 1.997/ano

    • 12 meses de acesso ao Founders
    • 90 dias de mentoria intensiva, um encontro por dia útil
    • Dia de conteúdo (terça e quinta) e War Room (segunda, quarta e sexta)
    • Encontro semanal em grupo após a fase intensiva
    • Formação Vibe Coding incluída no plano anual
    • Consultoria individual de até duas horas (bônus)
    Conhecer o plano