Hola lista,

Se que va a sonar estupido, y que es imposible, pero me esta pasando y se
que pasa por algo pero no lo he encontrado el problema aun.

Estoy usando postgres 9.6, ya estamos preparandonos para migrar a una
version mas nueva. Y tengo una tabla que ha estado eternamente ahi que
registra todos los cambios realizados a la informacion, con 7 aƱos de
informacion la tabla crecio hasta 1.4Tb, cuando aolo necesitabamos 7 meses.

Como es una tabla tan importante y necesitabamos addicionarle un nuevo
indice decidimos limpiar la tabla, pero lo que hicimos fue crear una tabla
usando la opcion like, dejarle la misma sequencia para que los id
continuaran donde se habian quedado, adicionamos el indice a la tabla nueva
y renombramos las tabla.

Ya ahi el sistema esta usando la tabla nueva y la tabla con los 1.4Tb la
renombramos a versions_old.
Entonces con una setencia de insert into veraions select * from
versions_old where last 7 months y un dia pues empezamos a copiar la
informacion de una tabla para otra.

Hasta aqui todo normal, tomamos el timestamp del primer registro en la
tabla nueva y contamos el numero de rows que hay antea del primer registro
insertado por el systema.

La tabla versions despues que termino el insert es de 510GB, es decir el
insert corrio por algun tiempo y no lo vimos terminar pues llevavamos mas
de 10 horas trabajando de madrugada y no sabiamos cuando terminaba.

El problema es que ahora contamos el numeto de rows de la data que copiamos
y esta disminuyendo, 248 records menos en 3 minutos.

Segimos teniendo la tabla old es decir no es un problema que perdimos la
informacion, y tenemos un backup tambien.

El problema es que la data historica de los 7 meses se esta desvaneciendo
poco a poco sin haber nada que la elimine.

Mi unica conjetura es que el insert fue interrumpido de alguna manera o el
proceso fue detenido y entonces la informacion copiada se esta como rolling
back, pero de una manera muy muy lenta.

Quiero adicionarles algo mas de informacion, el 80% de la tabla 1.4Tb es
toast data, el postgres tiene 156Gb de shared_buffer asignado.

Ah, todo el proceso fue ejecutado desde un sh script y corrido desde tmux
en el servidor.

Ante todo muchas gracias por sus surgerencias.
Carlos

Reply via email to