From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Fabiola Odái <fabolvera(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: autorización de usar un schema |
Date: | 2018-09-13 18:52:31 |
Message-ID: | 20180913185231.kuz4jrlegnaalecd@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Fabiola Odái escribió:
> Hay alguna manera de indicar que un usuario x tiene autorización de usar un
> schema de la base de datos para que al momento de ejecutar una consulta no
> tenga que indicar schema.tablename que lo pueda ser directo
> únicamente indicado tablename.
Esto no es una autorización, sino una indicación de dónde buscar. Lo
que hay que hacer es cambiar el search_path del usuario. Esto se puede
hacer en la sesión misma usando
SET search_path TO ...lista-de-esquemas...
o bien de manera más global (para todas las sesiones) usando
ALTER USER usuario SET search_path TO ...
(quizás "ALTER USER usuario IN DATABASE db" sea más apropiado).
Ojo que además de la visibilidad, la autorización (GRANT) también es
necesaria, aunque normalmente los esquemas son visibles al pseudo-rol
PUBLIC, es decir a todo el mundo.
> Observo que solamente el owner user puede hacer uso del schema sin tener
> que indicar el nombre del schema.
Eso es porque "$user" aparece en el search_path por defecto (es decir,
el usuario ve los objetos que están en un esquema que se llama como él
mismo).
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Fabiola Odái | 2018-09-13 20:02:21 | Re: autorización de usar un schema |
Previous Message | Fabiola Odái | 2018-09-13 18:47:55 | autorización de usar un schema |