PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Eliminar um índice com psycopg2 tem efeito antes ou depois do commit?


commit apenas confirma qualquer transação em andamento em seu banco de dados.

O que você realmente está perguntando se descartar índices e depois copiar na mesma transação fornecerá a mesma aceleração que primeiro descartar índices em uma transação e depois copiar dados em uma nova transação.

A citação direta de docs diz que:

A parte em negrito informa indiretamente que você deve confirmar depois de descartar os índices, pois descartar índices sem confirmar (concluir a transação) não deve ter nenhum impacto em outros usuários do banco de dados.

Portanto, a solução deve ser algo nesse sentido:

solte seus índices, confirme, copie os dados, crie novos índices e confirme novamente.

Observe que, ao dividir sua transação em duas transações, você perde atomicidade. Ou seja é possível que seus índices sejam descartados, mas nenhum dado seja copiado (se a energia ou a rede, por exemplo, for perdida durante a transação de cópia) e os índices nunca serão recriados.