[Pgsql-ayuda] existen esquema, sinonimos o union de esquemas

Martin Marques martin@bugs.unl.edu.ar
Thu, 29 Jan 2004 16:43:25 -0300


El Jue 29 Ene 2004 14:19, Alvaro Herrera escribi=F3:
> On Thu, Jan 29, 2004 at 09:35:53AM -0500, Guti=E9rrez Cuberos Tania Milena
> wrote:
>
> > En que version de postgres los acepta?
>
> Creo que 7.2 en adelante. (quizas 7.3 en adelante, no recuerdo)

7.3 trajo los esquemas a PG.

> > Como crear una foranea entre dos tablas de dos esquemas diferentes dent=
ro
> > de la misma base de datos.?
>
> Usa el nombre "calificado" de la tabla, es decir,
>
> CREATE TABLE foo (
> 	...
> 	bar INT REFERENCES miesq.baz
> );
>
> (baz es una tabla del esquema "miesq")
>
> > Como es la estructura del select, para unir dos o tres esquemas dentro =
de
> > una misma bse de datos?
>
> Idem, califica el nombre de la tabla con el nombre del esquema.

La idea es muy sencilla. A partir de ahora tenes que identificar las tablas=
=20
con el esquema al que pertenece.

Por ejemplo, si tenes un esquema prueba y dentro de ese esquema creaste una=
=20
tabla tabla1, para poder identificarla deberas usar "prueba.tabla1".

Si en algun caso trataras de, por ejemplo, hacer un select a la tabla "tabl=
a1"=20
sin especificar el esquema, PG buscaria la tabla en el PATH de esquemas, PA=
TH=20
que puede setearse en cualquier momento con el comando SET, pero que por=20
defecto es $USER:public.

Espero que se haya entendido. :-)

=2D-=20
 16:38:01 up 64 days, 22:54,  3 users,  load average: 0.53, 0.31, 0.29
=2D----------------------------------------------------------------
Mart=EDn Marqu=E9s        | select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica  |  DBA, Programador, Administrador
             Universidad Nacional
                  del Litoral
=2D----------------------------------------------------------------