[Pgsql-ayuda] Pregunta del motor Postgres

Alvaro Herrera alvherre@dcc.uchile.cl
Tue, 13 May 2003 12:00:51 -0400


On Tue, May 13, 2003 at 09:59:33AM -0400, jota machuca wrote:

Jota,

> Estamos investigando caracteristicas mas avanzadas de postgres. Por ejemplo 
> cuando tu realizas el comando CREATE TABLE
> creas una tabla, pero que archivos mas crea, o mejor dicho cuales son los 
> archivos asociados a esta tabla, en oracle tu puedes asignar un tablespace 
> para que hay se cree tu tabla, pero aqui... supongo que no lo hace por 
> magia,jejeje, pero eso es mas o menos el ki del asuto

Cuando haces un CREATE TABLE se crean los siguientes archivos:

- Un archivo para la tabla
- Un archivo para cada indice
  * incluyendo un indice para cada restriccion UNIQUE,
    y un indice para la llave primaria
- Un archivo para cada campo SERIAL
  * pertenece a la secuencia que trabaja debajo del capot de SERIAL

No hay mas archivos, y todos quedan en el mismo directorio, es decir, el
OID de la base de datos.

Cuando pueblas una tabla, al crecer de un cierto limite se crean nuevos
archivos para no estar limitado por el tamaņo maximo de archivo del
sistema operativo.  En general el limite es 1 GB.  Asi, cuando una tabla
pasa del GB se crean nuevos archivos terminados en ".X" donde X es el
numero del segmento.  Con esto una tabla puede pesar todos los GBs que
quieras.

En Postgres no hay tablespaces.  La implementacion esta pendiente
todavia.


(El "ki" del asunto?  Me imagino que la expresion es "el quid del
asunto", que como es una palabra latina se pronuncia "cuid").

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"You knock on that door or the sun will be shining on places inside you
that the sun doesn't usually shine" (en Death: "The High Cost of Living")