----- Mensaje original ----- > De: "Maria Antonieta Ramirez" <marami...@ulsaneza.edu.mx> > Para: "FORO POSTGRES" <pgsql-es-ay...@postgresql.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