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
>
>
>

Responder a