Re: poblemas con la asignacion de privilegios

From: "Marcelo Retamal Vallejos" <mretamal(at)cmet(dot)net>
To: "Jose Villena" <villena_jos(at)gva(dot)es>
Cc: "Lista Postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: poblemas con la asignacion de privilegios
Date: 2004-12-03 13:02:27
Message-ID: 002301c4d938$5706dcc0$da018282@ultra.cmet.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

que tal José:

Cuando entras a la base (por ejemplo con psql), uno entra el schema public, debes hacer un << set search_path = mi_esquema>>, haz un \d y serán listadas tus tablas.

Mira el postgresql.conf, hay una directiva denominada search_path, hechale un vistazo al manual y documéntate.

Chao.
----- Mensaje original -----
De: Jose Villena
Para: pgsql-es-ayuda(at)postgresql(dot)org
Enviado: Thursday, December 02, 2004 9:59 AM
Asunto: [pgsql-es-ayuda] poblemas con la asignacion de privilegios

hola,
Tengo un pequeño problemilla con los privilegios de un usuaio de postgres para el acceso a la tablas de un esquema.
Os lo comento a ver si alguien sabe la solucion:

1º me conecto como usuario us_ejemplo a la base de datos EJEMPLO

(salida del comando \dt)
List of relations
Schema | Name | Type | Owner
----------+------------+-------+----------
us_ejemplo | ta_accesos | table | us_ejemplo

2º tengo otro usuario creado llamado: us_ejemplo_oper
3ºConectado como us_ejemplo (propietario del esquema) le doy permisos a us_ejemplo_oper sobre el esquema, con el comando : GRANT USAGE ON SCHEMA us_ejemplo TO us_ejemplo_oper;
4º Ademas tambien le doy permisos a us_ejemplo_oper sobre la tabla ta_accesos mediante el comando:
grant select, insert on us_midas.ta_accesos to us_midas_oper;

5ª me conecto como us_midas_ejemplo : \c EJEMPLO us_midas_ejemplo

6ª ejecuto \dt y la respuesta es: No relations found. ,
¡¡¡No deberia aparecer !!!!!

Schema | Name | Type | Owner
----------+------------+-------+----------
us_ejemplo | ta_accesos | table | us_ejemplo

7ª ejecuto la sql como usuario us_ejemplo_oper : select * from us_ejemplo.ta_accesos;
y la resppuesta es satisfactoria

8ª ejecuto la sql como usuario us_ejemplo_oper : select * from ta_accesos;
y la resppuesta es : ERROR: relation "ta_accesos" does not exist

Es decir, me ejecuta las consultas cuando antepongo al nombre de la tabla el nombre del esquema,
pero si lo quito no es capaz de encontrar la tabla.

la pregunta es: ¿Como se le dan permisos a un usuario para que tenga acceso a un esquema del que no es propietario?

Gracias

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos Chavez Herrera 2004-12-03 13:58:40 RE: ODBC
Previous Message Mª José Sempere 2004-12-03 12:02:29 indices sobre datos binarios