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

Reply via email to