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

1

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

Se houver índice inchado, eu posso (manualmente) criar um novo índice simultaneamente indexando as mesmas coisas que o antigo, mas com um nome diferente, e quando for criado, eu posso deletar o antigo, inchado. Isso permite que eu corrija o inchaço do índice com um efeito mínimo no uso da produção (já que há sempre 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. Então uma gota & renomear. Mas os dados podem estar fora de sincronia. Existe alguma maneira de garantir que os dados sejam os mesmos entre as tabelas? (No caso do índice, o índice estará sempre em sincronia com a tabela).

    
por Rory 14.10.2015 / 17:18

0 respostas

Tags