Lists: | ecpugpgsql-es-ayuda |
---|
From: | Milton Labanda <1000ton(dot)lab(at)gmail(dot)com> |
---|---|
To: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, Foros Postgre Ecuador <ecpug(at)postgresql(dot)org> |
Subject: | Sobre schemas en postgres |
Date: | 2010-12-02 22:10:50 |
Message-ID: | AANLkTimYE6wQGK3EiSE+fLjPkBO4Q1YiVKDNwiZPg2+3@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | ecpug pgsql-es-ayuda |
Saluods amigos,
Quisiera saber porque cada vez que creo mis tablas en el esquema público
se visualizan en cualquiera de las bases de datos sea el usuario que sea con
el cual
me haya conectado, a pesar de haberlas creado con otro usuario.
La única solución es crear un esquema privado para meter todas mis tablas
allí?
--
/\/\;/-----------------------------------------------------
Milton Leonardo Labanda Jaramillo[1000tonlab]
Distro: Debian GNU/Linux Lenny 5.0
Blog: http://1000tonlab.wordpress.com
"Solamente la libertad que se somete a la Verdad
conduce a la persona humana a su verdadero
bien.... ". Juan Pablo II
(:\ Usa Software Legal, usa Software Libre /:)
From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | Milton Labanda <1000ton(dot)lab(at)gmail(dot)com> |
Cc: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, Foros Postgre Ecuador <ecpug(at)postgresql(dot)org> |
Subject: | Re: Sobre schemas en postgres |
Date: | 2010-12-02 23:06:52 |
Message-ID: | AANLkTik_XdgHJxk1f3t_7xxSOW0YCokTw_=CifuXoMzs@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | ecpug pgsql-es-ayuda |
2010/12/2 Milton Labanda <1000ton(dot)lab(at)gmail(dot)com>:
> Saluods amigos,
> Quisiera saber porque cada vez que creo mis tablas en el esquema público
> se visualizan en cualquiera de las bases de datos sea el usuario que sea con
> el cual
> me haya conectado, a pesar de haberlas creado con otro usuario.
>
por que no es oracle? ;)
si mal no recuerdo oracle crea un esquema privado de forma automática
para cada usuario, por eso dos usuarios pueden crear la misma tabla y
no habra problema.
postgres no crea esquemas automaticos por usuarios, sino que al crear
un usuario este esta viendo al esquema public (que como su nombre
indica: es publico) asi que todos los usuarios veran todas las
tablas...
si quieres lograr el efecto "oracle" lo puedes hacer asi:
create role joe login; --creas un usuario
create schema authorization joe; -- creas un esquema para ese usuario
alter role joe set search_path = 'joe'; -- "atas" el usuario joe al esquema joe
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
Cc: | Milton Labanda <1000ton(dot)lab(at)gmail(dot)com>, POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, Foros Postgre Ecuador <ecpug(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Sobre schemas en postgres |
Date: | 2010-12-03 00:18:43 |
Message-ID: | 1291335466-sup-5503@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | ecpug pgsql-es-ayuda |
Excerpts from Jaime Casanova's message of jue dic 02 20:06:52 -0300 2010:
> si quieres lograr el efecto "oracle" lo puedes hacer asi:
>
> create role joe login; --creas un usuario
> create schema authorization joe; -- creas un esquema para ese usuario
> alter role joe set search_path = 'joe'; -- "atas" el usuario joe al esquema joe
Pequeño comentario, puedes usar $user en search_path lo cual es
expandido al nombre de usuario al momento de conectarse. Esto es útil
porque lo puedes poner en postgresql.conf.
--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From: | Horacio Miranda <hmiranda(at)gmail(dot)com> |
---|---|
To: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
Cc: | Milton Labanda <1000ton(dot)lab(at)gmail(dot)com>, POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, Foros Postgre Ecuador <ecpug(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Sobre schemas en postgres |
Date: | 2010-12-03 00:28:27 |
Message-ID: | AANLkTinsxco1nOGWe_KGwrNfveL70=xbJYOhwOjG3ejT@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | ecpug pgsql-es-ayuda |
Jaime en Oracle pasa algo similar, si creas in sinonymo publico todos
los usuarios los ven, por eso se llama Publico me imagino que postgres
tiene el mismo comportamiento para las cosas publicas.
2010/12/3 Jaime Casanova <jaime(at)2ndquadrant(dot)com>:
> 2010/12/2 Milton Labanda <1000ton(dot)lab(at)gmail(dot)com>:
>> Saluods amigos,
>> Quisiera saber porque cada vez que creo mis tablas en el esquema público
>> se visualizan en cualquiera de las bases de datos sea el usuario que sea con
>> el cual
>> me haya conectado, a pesar de haberlas creado con otro usuario.
>>
>
> por que no es oracle? ;)
>
> si mal no recuerdo oracle crea un esquema privado de forma automática
> para cada usuario, por eso dos usuarios pueden crear la misma tabla y
> no habra problema.
>
> postgres no crea esquemas automaticos por usuarios, sino que al crear
> un usuario este esta viendo al esquema public (que como su nombre
> indica: es publico) asi que todos los usuarios veran todas las
> tablas...
>
> si quieres lograr el efecto "oracle" lo puedes hacer asi:
>
> create role joe login; --creas un usuario
> create schema authorization joe; -- creas un esquema para ese usuario
> alter role joe set search_path = 'joe'; -- "atas" el usuario joe al esquema joe
>
> --
> Jaime Casanova www.2ndQuadrant.com
> Professional PostgreSQL: Soporte y capacitación de PostgreSQL
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
--
Saludos,
Horacio Miranda Aguilera.
From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | Milton Labanda <1000ton(dot)lab(at)gmail(dot)com> |
Cc: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, Foros Postgre Ecuador <ecpug(at)postgresql(dot)org> |
Subject: | Re: Sobre schemas en postgres |
Date: | 2010-12-03 01:25:37 |
Message-ID: | AANLkTinykxYUj7SpA2F-bkwy5+rtbevJokmjS27wvLzR@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | ecpug pgsql-es-ayuda |
Saludos Milton,
Como te diste cuenta si hubieras contestado a las listas te hubieran
contestado mas rápido, por cierto, tienes que poner reply-all para
contestar a las listas :D
2010/12/2 Milton Labanda <1000ton(dot)lab(at)gmail(dot)com>:
> y solo creo un schema xxx,
> no esta asegurado que el que creó la BD es el unico que tendrá acceso a ese
> schema?
>
no.
esta asegurado que solo el dueño del esquema y cualquier superusuario
que haya tendra acceso a ese esquema.
generalmente el dueño del esquema es el que lo creo a menos que uses
la sintaxis "CREATE SCHEMA AUTHORIZATION usuario" en ese caso el dueño
del esquema será el "usuario" que indicaste en el comando.
luego de eso tendrá acceso cualquier usuario al que le des los
permisos apropiados.
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Horacio Miranda <hmiranda(at)gmail(dot)com> |
Cc: | Jaime Casanova <jaime(at)2ndquadrant(dot)com>, Milton Labanda <1000ton(dot)lab(at)gmail(dot)com>, POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, Foros Postgre Ecuador <ecpug(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Sobre schemas en postgres |
Date: | 2010-12-03 02:08:44 |
Message-ID: | 1291341968-sup-6982@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | ecpug pgsql-es-ayuda |
Excerpts from Horacio Miranda's message of jue dic 02 21:28:27 -0300 2010:
> Jaime en Oracle pasa algo similar, si creas in sinonymo publico todos
> los usuarios los ven, por eso se llama Publico me imagino que postgres
> tiene el mismo comportamiento para las cosas publicas.
Hay dos diferencias principales: una que en Postgres no existen los
sinónimos, y otra que no hay un concepto de "cosas públicas". Existen
objetos que viven en el schema "public", que por convención es un
esquema que existe en las bases de datos nuevas (pero lo puedes borrar
si quieres); además puedes revocar los permisos si quieres. Cada objeto
tiene una ACL, y esa ACL determina si tal o cual usuario puede verlo,
usarlo, o modificarlo.
En resumidas cuentas, no tienen nada que ver :-)
--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support