Re: autorización de usar un schema

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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