From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Terry Yapt <pgsql(at)technovell(dot)com> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] Usuarios |
Date: | 2003-09-03 18:51:29 |
Message-ID: | 20030903185129.GC1991@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Wed, Sep 03, 2003 at 06:49:49PM +0200, Terry Yapt wrote:
> Hasta donde yo se o he leido, template0 es el corazon de PostgreSQL.
> Lo que seria el esquema SYS/SYSTEM de Oracle. Template1 es una
> replica exacta (al menos en el inicio) de lo que es template0. Su
> utilidad, pues puede ser variopinta, como por ejemplo: Si creas una
> funcion en template1, esta funcion se heredara/creara en todas las
> bases de datos que crees a posteriori, pues todas parten de template1
> y son una replica de esta. Es decir, si prentendes modificar el
> corazon del sistema utiliza template1. Nunca toques template0.
En realidad, hasta donde recuerdo durante el bootstraping (initdb) se
crea template1 primero, y luego se hace una copia identica que se llama
template0. A template0 se le aplica VACUUM FREEZE.
Luego, template0 se usa para encontrar las cosas que son diferentes de
template1. Por ejemplo pg_dump hace un volcado de los tipos que existen
en template1 pero no en template0 (idem tablas, etc); de lo contrario
todos los volcados llevarian pg_class, pg_attribute, etc etc (en este
caso se podria distinguir mirando el nombre de la tabla, pero con los
operadores, los tipos de dato, etc no puedes hacer eso).
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Endurecerse, pero jamas perder la ternura" (E. Guevara)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2003-09-03 19:06:45 | [Pgsql-ayuda] [alvherre@dcc.uchile.cl: Re: Preguntas de la Universidad del Bio Bio otra vez.] |
Previous Message | Alvaro Herrera | 2003-09-03 18:05:58 | Re: [Pgsql-ayuda] OT: Acceder a postgres con ncurses |