La solución es sencilla. Usa pgadmin para la administración de permisos. Me generó esto: Usuario:
CREATE ROLE sapo LOGIN ENCRYPTED PASSWORD 'md5bbcc23137e3a6375c6f8a91eb5acdc89' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION; Grupo: CREATE ROLE sapos NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION; GRANT sapo TO sapos; Base de datos pruebas: CREATE DATABASE pruebas WITH OWNER = postgres ENCODING = 'WIN1252' TABLESPACE = pg_default LC_COLLATE = 'Spanish_Colombia.1252' LC_CTYPE = 'Spanish_Colombia.1252' CONNECTION LIMIT = -1; GRANT CONNECT, TEMPORARY ON DATABASE pruebas TO public; GRANT ALL ON DATABASE pruebas TO postgres; GRANT ALL ON DATABASE pruebas TO sapos; Clic en schemas y selecciona cada schema, luego clic en Grant Wizard y selecciona todos los objetos que desees dar permisos (supongo q son todos), luego ve a la pestaña Privilegios, activa ALL y selecciona el grupo, clic en Add/Change. En la pestaña SQL estan los GRANT que necesitas por cada schema: GRANT EXECUTE ON FUNCTION get_clientesborradofechas(bigint, character varying, character varying, integer, character varying, date, date, date, refcursor) TO GROUP sapos; GRANT ALL ON TABLE clientesborradofechas_idcliente_seq TO GROUP sapos; GRANT ALL ON TABLE gps_datos_idgps_seq TO GROUP sapos; GRANT ALL ON TABLE gps_eventos_idevento_seq TO GROUP sapos; GRANT ALL ON TABLE clientesborradofechas TO GROUP sapos; GRANT ALL ON TABLE det_eventos TO GROUP sapos; GRANT ALL ON TABLE gps_datos TO GROUP sapos; GRANT ALL ON TABLE gps_datos_recover TO GROUP sapos; GRANT ALL ON TABLE gps_eventos TO GROUP sapos; GRANT ALL ON TABLE gps_eventos_vd TO GROUP sapos; GRANT EXECUTE ON FUNCTION trg_gps_eventos() TO GROUP sapos; >________________________________ > De: Guillermo Villanueva <[email protected]> >Para: Alvaro Herrera <[email protected]> >CC: felipe guzman <[email protected]>; Ayuda ><[email protected]> >Enviado: Lunes 25 de junio de 2012 14:52 >Asunto: Re: [pgsql-es-ayuda] permisos > >> Entiendo tu punto, pero ¿qué diferencia hay entre el dueño de la BD y >> otro usuario que puede hacer cualquier cosa? >Alvaro, pasa que para que sea dueño o lo pongo a su usuario como dueño >y yo me tengo que dar acceso a todo (vuelvo a lo mismo) o bien le >tengo que dar la password de el usuario dueño. No me gusta ninguna de >las dos opciones. >La otra alternativa es darle todos los permisos del dueño utilizando >la sintaxis que propusiste al principio (como incorporandolo al >grupo), pero como eso no se puede particularizar por db, termino >dándole acceso total a la base en producción también. >Jaja, que lío. Pero me entienden? > > >Ya se!! cambio de compañero de trabajo >- >Enviado a la lista de correo pgsql-es-ayuda ([email protected]) >Para cambiar tu suscripción: >http://www.postgresql.org/mailpref/pgsql-es-ayuda > > >
