From: | "Julio Cesar Rodriguez Dominguez" <jurasec(at)gmail(dot)com> |
---|---|
To: | "Marcos Saldivar" <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: como listar los permisos de un esquema |
Date: | 2008-04-14 23:38:08 |
Message-ID: | 925902880804141638x7815d189i80e0cbdebb21718c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muchas gracias Marco por tu respuesta, pero no consegui correr la
consultas, ya que marca erro en "r", supongo que es por la profundidad
de los parentesis.
On Mon, Apr 14, 2008 at 3:47 PM, Marcos Saldivar
<baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> wrote:
> 2008/4/14, Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>:
> > Hola, buen día.
> > Mi nombre es Julio Cesar Rodriguez, estamos desarrollando un sistema
> > contable el cual manejara distintas sucursales, y
> > hemos decidido usar esquemas para controlarlas, poniendo en ellas solo
> > las tablas que serán especificas por sucursal, en estos
> > momentos estamos desarrollando la parte del control de los usuarios, y
> > para eso nos estamos apoyando del control de roles
> > que tiene postgreSql, bueno el punto es que necesito listar los
> > permisos que tiene cada esquema y cada función en la base de datos.
> > He usado \z o \dp, pero este solo me lista los permisos de tablas,
> > vistas y sequencias. Ya que es para verificar si se estan llevando
> > acabo dichos cambios sobre los esquemas.
> >
> > Gracias por sus respuestas
>
> Yo construi una vista con el siguiente select:
>
> SELECT n.nspname AS schema, c.relname AS entidad, c.relkind AS type,
> r.rolname AS owner, COALESCE(c.relacl::text, ((('{'::text ||
> r.rolname::text) || '=arwdxt/'::text) || r.rolname::text) ||
> '}'::text) AS permisos
> FROM pg_class c
> JOIN pg_roles r ON r.oid = c.relowner
> LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
> WHERE (c.relkind = ANY (ARRAY['r'::"char", 'v'::"char", 'S'::"char",
> ''::"char"])) AND n.nspname <> 'pg_catalog'::name AND n.nspname !~
> '^pg_toast'::text AND pg_table_is_visible(c.oid)
> ORDER BY c.relkind;
>
>
> con la vista realice otra vista para tener mejor manejo de ella,
> espero que te ayude.
>
>
> ps: encontrar como hacer las ordenes "\z" o "\d" debes ejecutar psql con "-E"
>
--
:: Jc3 ::
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-04-14 23:50:14 | Re: como listar los permisos de un esquema |
Previous Message | Gunnar Wolf | 2008-04-14 23:03:54 | Re: [OFF-TOPIC]porque el text |