Re: tamaño tabla toast

From: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
To: Maria Antonieta Ramirez <maramirez(at)ulsaneza(dot)edu(dot)mx>
Cc: FORO POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: tamaño tabla toast
Date: 2017-08-16 20:40:01
Message-ID: 926184423.257103.1502916001392.JavaMail.zimbra@fmed.uba.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Mensaje original -----
> De: "Maria Antonieta Ramirez" <maramirez(at)ulsaneza(dot)edu(dot)mx>
> Para: "FORO POSTGRES" <pgsql-es-ayuda(at)postgresql(dot)org>
> Enviados: Miércoles, 16 de Agosto 2017 15:58:37
> Asunto: tamaño tabla toast
>
>
> Tamaño de tablas:
>
>
> Buena tarde,
>
>
> De ante mano agradezco su atencion, tengo una duda muy grande les explico:
>
>
> Mi respaldo ha ido creciendo muy rapido de una base de datos postgres version
> 9.4 , ahorita mi respaldo pesa 918.615 kb, diario va creciendo.
>
>
> asi hago mi respaldo:
>
>
> pg_dump.exe -i -h 192.168.2.185 -p 5432 -U postgres -F c -b -v -f
> "E:\resp\mayo/BACKUP_educacion_cambios_%FECHA%.backup" educacion_cambios
>
>
> pues mi base a respaldar se llama educacion_cambios.
>
>
>
> si cinsulto el tamaño de mi base de datos asi:
>
>
> SELECT
> pg_database.datname,
> pg_size_pretty(pg_database_size(pg_database.datname)) AS size
> FROM pg_database;
>
>
> me da un tamaño de : "1695 MB"
>
>
>
> Entonces ejecute este query para ver el tamaño de las tablas:
>
>
> SELECT
> relname AS objectname, relkind AS objecttype,
> reltuples AS "#entries", pg_size_pretty(relpages::bigint*8*1024) AS size
> FROM pg_class
> ORDER BY relpages DESC;
>
> y me dice que tengo una tabla llamada asi: "pg_toast_2557268" con este
> tamaño: "988 MB"
>
>
> Mis dudas son las siguientes:
>
>
> 1.- Visualize que tengo varias tablas que inician con el mismo nombre:
> pg_toast* , ¿de que son estas tablas?, ya que no las encuentro graficamente
> con el pgadmin3.
>
>
Las tablas "toast" las usa internamente postgres, cuando tenes columnas "grandes":
https://www.postgresql.org/docs/current/static/storage-toast.html
Si queres saber a que tabla pertenece esa tabla toast:
select oid::regclass from pg_class where reltoastrelid='2557268'::regclass;
>
> 2.- ¿Escorrecto como estoy respaldando si quiero solo respaldar las tablas de
> mi base de datos "educacion_cambios"?

Si
>
>
>
> 3.- Si mi tabla mas grande de mi base de datos "educacion_cambios" pesa "116
> MB", ¿porque mi respaldo va creciendo tanto de manera significativa desde
> hace un mes aproximadamente y hace un mes mi respaldo pesaba 371.688 KB.?
>
>

*Ojo, no confundas el peso del "dump" contra el peso devuelto por ese query. Son cosas diferentes.

* Postgres tiene funciones que te devuelven el tamaño de las tablas en bytes:
select pg_table_size(nombre_tabla), con algunas variantes, segun quieras incluir las tablas internas (toast), ej:
https://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE
Podes usarlas para ir monitoreando sistematicamente el crecimiento de tus tablas mas grandes

HTH
Gerardo

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martín Marqués 2017-08-16 21:40:49 Re: tamaño tabla toast
Previous Message Daniel Carrero 2017-08-16 19:29:42 Re: tamaño tabla toast