Como o dump está em uma transação, você obtém uma visão consistente de todas as tabelas no banco de dados. Isso provavelmente é melhor explicado por um contra-exemplo. Digamos que você despeje um banco de dados com duas tabelas,
Orders e OrderLines - Você inicia o dump sem uma única transação.
- Outro processo insere uma linha em
Orderstabela. - Outro processo insere uma linha em
OrderLinestabela. - O dump processa as
OrderLinestabela. - Outro processo exclui os
OrderseOrderLinesregistros. - O dump processa os
Orderstabela.
Neste exemplo, seu dump teria as linhas para
OrderLines , mas não Orders . Os dados estariam em um estado inconsistente e falhariam na restauração se houvesse uma chave estrangeira entre Orders e OrderLines . Se você tivesse feito isso em uma única transação, o dump não teria nem o pedido nem as linhas (mas seria consistente), pois ambos foram inseridos e excluídos após o início da transação.