Re: Permisos usuarios

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Rubén da Silva <ruben(at)ozonomultimedia(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Permisos usuarios
Date: 2006-03-31 13:25:31
Message-ID: 20060331132531.GA4466@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Rubén da Silva escribió:
> Como obtengo que permisos tiene el usuario "usuarioX" (ya dado de alta
> su rol y su permisos) sobre cada tabla de mi esquema public.?
>
> Me explico: necesito saber de antemano si un usuario puede grabar por
> ejemplo en la tabla "textos" para yo antes de intentar la grabación
> mostrarle vía web que solo puede leer de la tabla "textos".

Usa la funcion has_table_privilege(), por ejemplo (la tabla se llama
foo):

alvherre=# select has_table_privilege('alvherre', 'foo', 'select');
has_table_privilege
---------------------
t
(1 fila)

Hay multiples variantes, para indicar la tabla o usuario por nombre u
Oid.

alvherre=# \df has_table_privilege
Listado de funciones
Schema | Nombre | Tipo de dato de salida | Tipos de datos de argumentos
------------+---------------------+------------------------+------------------------------
pg_catalog | has_table_privilege | boolean | name, oid, text
pg_catalog | has_table_privilege | boolean | name, text, text
pg_catalog | has_table_privilege | boolean | oid, oid, text
pg_catalog | has_table_privilege | boolean | oid, text
pg_catalog | has_table_privilege | boolean | oid, text, text
pg_catalog | has_table_privilege | boolean | text, text
(6 filas)

Hay otras funciones has_*_privilege, las cuales puedes examinar con \df.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Felipe Amezquita 2006-03-31 13:42:10 generar un archivo plano a partir de una consulta especifica
Previous Message Eduardo Rodrigo 2006-03-31 07:51:22 (BLOBS)