Encontre esta funcion, la modifique y la ejecute
--select pg_grant('userreadonly ','select','%','public');

entonces los roles/usuarios creados y asignados a partes,
deberian tener privilegios de solo lectura en todas las tablas,
vistas, secuencias.

--Function to grant access(select,insert,update,delete) to users

esta es la funcion de http://kennii.wordpress.com/2007/09/21/postgres-grant-privileges-to-all-tables-in-a-database/


CREATE or replace FUNCTION pg_grant(TEXT, TEXT, TEXT, TEXT)
RETURNS integer AS
$$
DECLARE obj record;
num integer;
BEGIN
    num:=0;
    FOR obj IN SELECT relname FROM pg_class c
        JOIN pg_namespace ns ON (c.relnamespace = ns.oid)
WHERE relkind in ('r','v','S') AND nspname = 'public' AND relname LIKE '%' LOOP
        RAISE NOTICE 'obj:=> %  ',obj.relname;
        EXECUTE 'GRANT SELECT ON '|| obj.relname || ' TO group partes;';
        num := num + 1;
    END LOOP;
RETURN num;
END;
$$
LANGUAGE plpgsql VOLATILE

que opinais...!?

--
-------------------------------------------------------------
INIDEP -Instituto Nac. de Investigación y Desarrollo Pesquero
SIOP - Sistema de Informacion Oceanografica Pesquera
Mario Cassanelli
Tel: +54-223-486-2586 (int 107)
Paseo Victoria Ocampo Nro. 1
B7602HSA Mar del Plata - Argentina
-------------------------------------------------------------


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a