![¿Resolver la hinchazón de la tabla PostgreSQL sin afectar las lecturas/escrituras?](https://rvso.com/image/668784/%C2%BFResolver%20la%20hinchaz%C3%B3n%20de%20la%20tabla%20PostgreSQL%20sin%20afectar%20las%20lecturas%2Fescrituras%3F.png)
Tengo una tabla postgresql grande que creo que ha comenzado a inflarse y me gustaría solucionarlo. Normalmente podría hacer a VACUUM FULL
or CLUSTER
, pero me pregunto si puedo solucionar el problema sin afectar el rendimiento de lectura/escritura.
Si hay un índice hinchado, puedo crear (manualmente) un nuevo índice al mismo tiempo que indexe las mismas cosas que el anterior, pero con un nombre diferente, y cuando se crea, puedo eliminar el antiguo e hinchado. Esto me permite corregir el aumento del índice con un efecto mínimo en el uso de producción (ya que siempre hay un índice allí y las lecturas y escrituras no están bloqueadas).
¿Existe algún enfoque como ese que funcione para las tablas? Podría CREATE TABLE newtable LIKE old_bloated_table INCLUDING ...
, lo que crearía la tabla de nuevo. Luego soltar y cambiar el nombre. Pero los datos podrían no estar sincronizados. ¿Hay alguna forma de garantizar que los datos sean los mismos entre las tablas? (En el caso del índice, el índice siempre estará sincronizado con la tabla).