Como obtener grupos para usuarios restringidos

From: Alejandro Gasca <agasca(at)yahoo(dot)com>
To: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Como obtener grupos para usuarios restringidos
Date: 2006-10-26 21:55:43
Message-ID: 20061026215543.38201.qmail@web34306.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos.

Estoy tratando de obtener los grupos a los que pertenece un usuario. He
visto que con pg_role y pg_grup se puede obtener esto. El problema es
con usuarios a los que pienso no darles acceso a los catalogos de
sistema.

Se me ocurrio hace una función parecida a esto:

CREATE OR REPLACE FUNCTION catalogos.dame_grupo_usuario(que_usuario
text)
RETURNS text AS
$BODY$Declare
grupo_usuario text;
Begin

select into grupo_usuario pg_group.groname from pg_group, pg_roles
where pg_roles.oid = ANY (pg_group.grolist) AND pg_roles.rolname =
que_usuario;

return grupo_usuario;

End;$BODY$
LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER;

Es un ejemplo, ya que falta adaptar para que devuelva todos los grupos.

Bueno, el problema es que a esta funcion se le puede pasar cualquier
nombre de usuario, y la idea es que solo pase el nombre del usuario que
esta llamandola. si por ejemplo cambio algo la funcion y le pongo
where pg_roles.oid = ANY (pg_group.grolist) AND pg_roles.rolname = user

me devuelve siempre el grupo del usuario al que esta aduen~ada...
y pues no se si exista una variable parecida a 'user' pero que regrese
solo los grupos a los que esta adscito 'user'.

De antemano, gracias.

Alejandro

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge A. Barzola Rosadio 2006-10-26 22:09:46 PGAdmin
Previous Message Alvaro Herrera 2006-10-26 20:56:31 Re: [Fwd: Re: como almacenar una imagen en una tabla y no morir