Jairo,

Creo que tienes 3 tareas:
1. Como "limpiar" ahora los datos no requeridos
2. Como establecer una politica de mantenimiento autonatica
3. Como reducir costos en disco

Creo que hay varias preguntas que hacer para una mejor propuesta:
1. Que version de postgres estas usando?
2. Es postgres PaaS o una VM dedicada? Creo que es PaaS por lo que lei si
es PaaS cual proveedor?
3. Puedes tener downtime en Producion y por que tiempo?

Yo te sugiriria migrar los datos solo que te interesan a una tabla definida
con partitionamiwnto nativo y por lista. Pero solo lonque te interesa.
Desgraciadamente dependiendo del tamaño requerido por cada fila y el numero
de records podrias calcular cuanto espacio extra necesitas en disco. Y
luego renombrar tablas y hacerle drop table a la tabla vieja.

Primer problema resuelto.

Despues usaria pg_partman con pg_cron para establecer una politica de
mantenimiento, debes tener algun lugar donde revisar los clientes activoa y
loa no activos. Bueno particiona usando el num_ruc que mencionas y usa cron
para desmontar la particion del cliente que ya no esta activo y eliminala
despues usanso drop.

Problema dos resuelto.

El problema de la migracion a una tabla particionada, mas los dayos
actuales estan conaumiendo espacio en disco, creo que como mencionaron no
puedes reducirlo despues de designado a una PaaS instance, pues establece
logical replicacion de la instance existente a una nurva y has un fail over
hacia la nueva instancia, si estas usando una VM al usar drop table ya
eliminastes espacio. Si no puedes usar streaming replication entre VMs para
hacer el fail over.

Problema 3 resuelto.

Gracias,
Carlos

Reply via email to