Re: vacuum y la limpieza de la base de datos

Lists: pgsql-es-ayuda
From: "Jorge Alejandro Adell" <jorgeadell(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: vacuum y la limpieza de la base de datos
Date: 2006-07-17 06:32:35
Message-ID: 3ada24480607162332x5eda14b7r1cf801c4631c484d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

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.

Saludos.


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
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 :)

--
http://espartano.linuxreal.org/blog/html/index.php


From: Gregorio Diaz <gregorio_diaz(at)yahoo(dot)com>
To: Gizzig bk <gizzigbk01(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: SELECT IN sin importar mayúsculas ni minúsculas
Date: 2006-07-20 22:44:48
Message-ID: 20060720224448.71326.qmail@web56310.mail.re3.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola Amigos

Quiero hacer una consulta no sensitiva a mayúsculas ni
minúsculas pero incluyendo la clausula IN, de esta
forma:

SELECT * FROM productos WHERE lower(referencia) IN
Lower('abc001', 'ABC003', '00001017', 'xYwC123', ...)

que lógicamente no funciona!

¿Será qué tengo que usar algo así como ?:

SELECT * FROM productos WHERE Lower(referencia) IN
(Lower('abc001'), Lower('ABC003'), Lower('00001017'),
Lower('xYwC123'), ...)

Nota: los valores dentro del IN () son dados según
variables y resultados de otras cosas, así mismo el
número de elementos puede variar y no están en orden
tampoco.

¿Existe alguna forma de inhibir la distinción entre
mayúsculas/minusculas e incluso la distinción de
acentos (tildes) de forma permanente o temporal ?

Muchas gracias

Gregorio Diaz
Bogotá Colombia

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Gregorio Diaz <gregorio_diaz(at)yahoo(dot)com>
Cc: Gizzig bk <gizzigbk01(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: SELECT IN sin importar mayúsculas ni minúsculas
Date: 2006-07-22 17:05:43
Message-ID: 20060722170542.GG14221@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Gregorio Diaz escribió:
> Hola Amigos
>
> Quiero hacer una consulta no sensitiva a mayúsculas ni
> minúsculas pero incluyendo la clausula IN, de esta
> forma:

Cuando hagas una pregunta a la lista, crea un thread nuevo, es decir, no
hagas REPLY de un mensaje antiguo. Esto ayuda a que los archivos sean
mas coherentes y a que no se mezclen las cosas.

Gracias por tu cooperacion.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Alvaro Herrera <alvherre(at)commandprompt(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-22 17:06:53
Message-ID: 20060722170653.GH14221@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Jorge Alejandro Adell escribió:

> 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.

No, no deberias. Lee la documentacion sobre WAL (Write-Ahead Log). Hay
un capitulo entero sobre eso.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.