RE: Tamaño en tabla toast para tipo de dato bytea

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Ivan Perales M(dot) <ivan(dot)perales(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Tamaño en tabla toast para tipo de dato bytea
Date: 2012-02-10 14:28:58
Message-ID: 294D3D02D5E18D42827B2ECFEADEB68823206D1552@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Qué tal si aplicas un VACUUM FULL a esa tabla, después un REINDEX y finalmente planificas un VACUUM manual desde el cron que se ejecute más a menudo sobre esa tabla y analizas el resultado final a ver qué sucede.

Supongo que si el vacuum se tarda, es porque no ha terminado de hacer su trabajo.

Saludos a todos.

De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Ivan Perales M.
Enviado el: viernes, 10 de febrero de 2012 03:18:AM
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] Tamaño en tabla toast para tipo de dato bytea

Hola que tal, hace poco enfrente un problema que a la fecha no he podido solucionar. No soy muy experto en postgres y me disculpo por eso, aunque ya llevo varios años utilizandola.

El problema es el siguiente, tengo el mismo sistema corriendo en dos redes separadas, ambos corren postgresql 8.3.14. Tengo una tabla con el tipo de datos bytea para cargar cualquier tipo de archivo, y hasta donde se se han cargado archivos de word, excel, imagenes en formato jpg, png, etc. El funcionamiento esta de lujo. El problema viene con la tabla toast que se crea para el almacen. En uno de los dos sistemas, llevan aproximadamente cargados 350 registros, y el resultado que me da la funcion pg_total_relation_size es de aprox 756 megas, en lo cual estoy de acuerdo, ya que seguramente los usuarios cargan imagenes que salen directamente de la camara digital las cuales andan desde 2 hasta 6 megas. Pero en el otro sistema, le han dado un uso un poco mas grande, han cargado 4005 registros, pero el tamaño de la tabla toast llega hasta los 60 GB!, no lo puedo creer, aunque cargaran imagenes de 10 megas, las matematicas me dicen que deberian ser 39.1 GB, y eso es exagerandole ya que no creo que las imagenes pasen de 2 megas. No encontre una funcion para obtener el tamaño de una columna o de una fila asi que no pude obtener el tamaño de cada celda en especifico, pero se me hace increible. Si dumpeo la base con pg_dump y la restauro con psql -f, el tamaño de la tabla toast regresa a 17 GB, que es lo que yo supondria correcto. Al cabo de una semana, despues de agregar un par de cientos de archivos, la base vuelve a subir varias decenas de GB's. Esto jamas me habia ocurrido, solo esta en particular lo hace. Intente correr vacuum de forma manual pero se tarda mucho tiempo, eh esperado hasta 2 horas y no veo que termine. No se si sea ese el tiempo que se lleve. El autovacuum en esta version viene activado de forma predeterminada y asi lo he dejado. Tenia la base corriendo desde abril del 2011 y no habia tenido este problema. Hace como 1 mes por varios error que no lograba depurar en la programacion del sistema, habilite el log del postgresql y asi lo deje, 4 semanas despues la tabla toast ocupaba 250 GB. Deshabilite el log, restaure desde un dump y de empezar con 16 GB a una semana despues ya va en 60 GB. Ya se que suendo medio paranoico pero esto comenzo desde que habilite el log. Ya deshabilite el log pero sigue haciendo lo mismo.

Realmente me falta mucho para aprender bien postgres, es por eso que recurro a ustedes, si tienen alguna idea o pista que me pueda guiar con el problema. De antemano agradezco su atencion y tiempo.

--
Lindolfo Iván Perales Mancinas
Cel. 481-126-2700
Solo existen 10 tipos de personas en el mundo, las que saben binario y las que no.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2012-02-10 14:44:52 Re: Problema al restaurar una BD
Previous Message Ivan Perales M. 2012-02-10 07:47:58 Tamaño en tabla toast para tipo de dato bytea