Hola lista

El problema radicaba (porque como lo manifiesta Edwin en PostgreSQL 10, con
la implementación de particionamiento se subsano) en lo siguiente: para
implementar particiones la forma generalizada era acudir al mecanismo de
herencia (insertando en la tabla base) y por medio de trigers (o rules) se
redirecciona el registro a la tabla apropiada. Cuando se hace así  el
resultado de la operación es 0 registros insertados (pues no inserta en la
base sino en algunas de sus hijos), Hibernate para verificar que la
transacción de llevo a cabo de forma exitosa revisa el  resultado de la
operación y al devolver 0 asume que fue fallida.


El 22 de febrero de 2018, 06:54, Stephen Amell<stephenam...@inbox.lv>
escribió:

> Me imagino que sera porque Hibernate utiliza los valores de los serial que
> se perdían con el particionamiento; aunque tengo entendido que ya en
> postgres 10 esto no pasa.
>
>
>
> On 2018-02-21 20:45, Edwin Quijada wrote:
>
> Solo por curiosidad que hace Hibernate para que no se pueda aplicar un
> particionamiento.? Entiendo que si ya la tabla esta llena es un poco
> dificil por el caso de mover los archivos pero aun no entiendo lo que dices
> sobre Hibernate.
>
>
> Otra cosa, tu IVR lo estas haciendo con asterisk y libreria de asterik-agi
> de Java? Tambien trabajo con ello y me gustaria consultarte algo
>
>
> Gracias
>
>
> ------------------------------
> *From:* Alvaro Herrera <alvhe...@alvh.no-ip.org> <alvhe...@alvh.no-ip.org>
> *Sent:* Thursday, January 18, 2018 8:34 PM
> *To:* Hellmuth Vargas
> *Cc:* Lista Postgres ES
> *Subject:* Re: borrado de algunos registros en tablas grandes
>
> Hellmuth Vargas escribió:
> > Hola Lista
> >
> > tengo un servidor PostgreSQL 9.4 en el cual se registra el log de un IVR
> > (atención telefónica  automatizada por menús) donde la tabla ya esta
> > pesando 162GB, se tiene informacion desde el 2015 y se desea conservar en
> > linea solo el ultimo año (por cuestiones de espacio y rendimiento), la
> > aplicación que inserta estos datos esta implementada con Hibernate por lo
> > tanto no es posible implementar particiones pues al insertar regresa 0
> > registros y falla la aplicación. Se esta realizando un proceso nocturno
> > para mover los registros mas viejos de un año y y borrar los mismos de la
> > tabla  en cuestión. Dado el tamaño de la tabla, las características de la
> > maquina y que el servicio es 7x24  no es posible ejecutar un VACUUM FULL
> > para recuperar el espacio sino se ejecuta un VACUUM ANALYZE, por lo tanto
> > los datos nuevos deben insertarse en los bloques marcados como libres por
> > el vacuum, esto afectaría el rendimiento de las operaciones que se hagan
> en
> > la tabla (bloat, entre otros aspectos)?
>
> Pienso que lo más barato sería acceder la BD directamente al hacer el
> insert.  Como debería ser una operación muy específica, no hay que
> modificar toda la aplicación sino sólo una pequeña parte.
>
> Dicho esto, la verdad es que aplicar particionamiento post-facto es
> operacionalmente bastante complicado -- vas a requerir varios bloqueos
> en las tablas existentes para mover datos y establecer el ambiente
> inicial, así que no sé qué tan factuble sea en tu caso.
>
> Respecto a tu idea:  Yo creo que es factible.
> Ejecutar VACUUM después de cada DELETE liberará el espacio para que los
> insert futuros puedan usarlo.  No se liberará espacio al sistema
> operativo, pero esto no debería tener importancia.  Ejemplo: si haces
> los DELETE de los registros de más de 104 semanas de edad una vez a la
> semana, en un tiempo no muy largo deberías llegar a un estado
> estacionario en el cual los nuevos inserts de cada semana van usando el
> espacio liberado por los de la semana X-104 que se acaban de borrar --
> sin efecto negativo en el rendimiento.
>
> --
> Álvaro Herrera                https://www.2ndQuadrant.com/
> Professional PostgreSQL | 2ndQuadrant <https://www.2ndquadrant.com/>
> www.2ndquadrant.com
> Stay in touch with us. Subscribe to our monthly newsletter to hear the
> latest developments from 2ndQuadrant and related technologies. We’ll also
> send you any ...
>
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
>
>


-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate




-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

Reply via email to