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