Re: Documento de Postgresql Internal

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Ing(dot) Jhon Carrillo // Caracas, Venezuela" <jhon(dot)carrillo(dot)foros(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Documento de Postgresql Internal
Date: 2005-11-16 13:57:46
Message-ID: 20051116135746.GB14371@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ing. Jhon Carrillo // Caracas, Venezuela escribió:

Hola,

> en el documento de release del 8.1 aparecen los nuevos cambios en la
> versión, uno de esos cambios es la implementación de tablas/objetos
> globales entre bases de datos, donde Alvaro Herrera está referenciado,
> sin puedes hacer algún comentario sobre esto Alvaro sería bueno.

Bueno, no se que quieres que comente. Lo que yo hice para 8.1 fueron
las siguientes cosas:

- implementacion de candados compartidos a nivel de tuplas. Esto sirve
para impedir los deadlocks con llaves foraneas. La manifestacion a
nivel de SQL de esto es una clausula FOR SHARE (en comparacion al FOR
UPDATE que toma un candado exclusivo en la tupla).

- con respecto a los objetos globales el tema es el seguimiento de las
dependencias. Implemente un sistema para esto, pg_shdepend. La idea
es que si un usuario es dueño de una tabla, entonces no se debe poder
borrar el usuario. Esto era un bug en 8.0 y anteriores: cuando uno
borraba un usuario, la tabla quedaba siendo propiedad de un SYSID que
no estaba en pg_shadow. Para corregir estos problemas era que se daba
la opcion de especificar el SYSID en CREATE USER y CREATE GROUP. En
8.1 se impide borrar el usuario. Por lo tanto, ya no es necesaria la
especificacion de SYSID, como se dio cuenta una persona aca hace un
par de dias.

- integre el autovacuum en postmaster

Tambien aparezco como autor en two-phase commit pero en realidad lo
unico que hice fue limpiar un poco el parche de Heikki Linnakangas, que
despues tomó Tom Lane y le hizo bastantes otras mejoras.

No me acuerdo si trabaje en alguna otra cosa, creo que no.

> De igual forma, hace tiempo leí un documento de postgresql internal
> elaborado en el año 2000 por Tom, estaba bastante completo, sin
> embargo, imagino que existiran nuevos documentos de como ha ido
> cambiando internamente postgresql hasta las versiones actuales o
> simplemente como esta estructurado hoy en día sus procesos (parser,
> rewriter, executor, etc) internos.

No hay habido grandes cambios estructurales. Los cambios que han habido
estan documentados en las release notes. Para tener una idea global,
puedes leer los "cambios mayores" de cada version, que son como cuatro o
cinco generalmente, no es necesario que mires los detalles o la lista de
minucias que vienen despues.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2005-11-16 14:01:26 Re: 8.0.4 Super Lento
Previous Message Alvaro Herrera 2005-11-16 13:46:16 Re: 8.0.4 Super Lento