Resolver o inchaço da tabela PostgreSQL sem afetar leituras/gravações?

Resolver o inchaço da tabela PostgreSQL sem afetar leituras/gravações?

Eu tenho uma grande tabela postgresql que acho que começou a ficar inchada e gostaria de consertar isso. Normalmente eu poderia fazer um VACUUM FULLou CLUSTER, mas estou me perguntando se posso consertar o inchaço sem afetar o desempenho de leitura/gravação.

Se houver inchaço no índice, posso (manualmente) criar um novo índice simultaneamente que indexe as mesmas coisas que o antigo, mas com um nome diferente, e quando for criado, posso excluir o antigo e inchado. Isso me permite corrigir o inchaço do índice com efeito mínimo no uso da produção (já que sempre há um índice lá e as leituras e gravações não são bloqueadas).

Existe alguma abordagem como essa que funcionaria para tabelas? Eu poderia CREATE TABLE newtable LIKE old_bloated_table INCLUDING ..., o que criaria a tabela novamente. Em seguida, solte e renomeie. Mas os dados podem estar fora de sincronia. Existe alguma maneira de garantir que os dados sejam iguais entre as tabelas? (No caso do índice, o índice estará sempre sincronizado com a tabela).

informação relacionada