From: | Mario Cassanelli <mcassan(at)inidep(dot)edu(dot)ar> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: privilegios de solo lectura a un grupo |
Date: | 2011-02-15 14:28:45 |
Message-ID: | 4D5A8D9D.50509@inidep.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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
-------------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | p valdes | 2011-02-15 17:28:40 | Re: privilegios de solo lectura a un grupo |
Previous Message | Mario Cassanelli | 2011-02-15 13:47:45 | privilegios de solo lectura a un grupo |