From: | Espartano <espartano(dot)mail(at)gmail(dot)com> |
---|---|
To: | "Jorge Alejandro Adell" <jorgeadell(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: vacuum y la limpieza de la base de datos |
Date: | 2006-07-17 21:30:53 |
Message-ID: | d353bd50607171430m2804888ame19803de625fcdaf@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 7/17/06, Jorge Alejandro Adell <jorgeadell(at)gmail(dot)com> wrote:
> Estoy dando mis primeros pasos con postgres y voy practicando lo que encuentro.
> Creé una tabla y le inserté un millon de registros y luego la indexé,
> hice experimentos y luego
> fui a ver que era "vacuum" e hice lo siguiente:
> borré la tabla y el índice y luego ejecuté
> vacuum full verbose;
> esperaba encontrar mas espacio en disco y fue así.
> Lo que pregunto es porque de tener una base de datos vacía (sin
> tablas) y luego de ejecutar
> vacuum tengo en /usr/local/pgsql/data/pg_xlog unos archivos que cada
> uno ocupa 16 MB y son 6.
> No debería tener la base de datos como una que está recién creada.
>
Intentare responderte, aunque no estoy seguro, espero que alguien me
pueda corregir si estoy en un error, el espacio que tienes es porque
postgresql utiliza un metodo que se llama MVCC por sus siglas en
ingles, que quiere decir control de concurrencia multiversion, este
mecanismo hace posible que varios clientes puedan consultar y
manipular los datos al mismo tiempo, para cada select que se hace a
los datos se saca una instantanea que aparte de contener los datos de
la consulta almacena unas cabeceras de cuando fue sacada, y asi cuando
haces otra consulta y se detecta que los datos de esa instantanea han
cambiado se saca otra instantanea pero no se borra la anterior, asi no
se tiene que bloquear la tabla y mientras se hacen los selects tambien
se pueden hacer inserts updates o deletes, lo que hace el comando
vacuum es que borra todas esas instantaneas que se han almacenado, con
respecto a los archivos de 16 Megas que tienes, no estoy del todo
seguro porque apenas he leido sobre el tema pero me parece que forman
parte de los registros que crea el WAL, y como te digo no estoy
completamente seguro de que sea la respuesta correcta puesto que yo
tambien ando ondando en estos temas, por favor si estoy equivocado
alguien corrijame se lo agradesco de antemano :)
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Badilla | 2006-07-17 23:26:28 | Instalar Postrgesql en Fedora 5 |
Previous Message | Linder Poclaba | 2006-07-17 20:44:09 | Re: conocer conexiones activas |