Re: asignación de roles

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: asignación de roles
Date: 2007-04-02 19:15:33
Message-ID: 20070402191533.GG13946@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Victor Lopez escribió:

> Tengo una serie de roles, caracterizados porque cada uno tiene asignados unos
> GRANTs (llamemosles 'rol1' y 'rol2')
>
> Creo un usuario (con LOGIN) 'u' y, en vez de repetir todos los GRANTs
> del 'rol2', le asigno el 'rol2'
>
> CREATE ROLE u WITH LOGIN ENCRYPTED PASSWORD 'pitopito' IN ROLE rol2;
> correcto? o ...
> CREATE ROLE u WITH LOGIN ENCRYPTED PASSWORD 'pitopito' ROLE rol2;
> sin el 'IN'

Son lo contrario: IN ROLE hace que u pertenezca al rol rol2, mientras
que ROL rol2 hace que el rol2 sea parte del u (lo cual hace que u sea un
"grupo").

http://www.postgresql.org/docs/8.2/static/sql-createrole.html

IN ROLE rolename
The IN ROLE clause lists one or more existing roles to which the new
role will be immediately added as a new member. (Note that there is
no option to add the new role as an administrator; use a separate
GRANT command to do that.)

ROLE rolename
The ROLE clause lists one or more existing roles which are
automatically added as members of the new role. (This in effect
makes the new role a "group".)

> ALTER ROLE u ... no hay para asignar a otro rol ?

No, como puede verse en la documentacion:

ALTER ROLE cannot change a role's memberships. Use GRANT and REVOKE to
do that.

http://www.postgresql.org/docs/8.2/static/sql-alterrole.html

Moraleja: lee la documentacion.

--
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 Victor Lopez 2007-04-02 19:24:34 Re: asignación de roles
Previous Message Alvaro Herrera 2007-04-02 19:11:19 Re: determinar roles asignados (asignación de roles al revés)