Gracias a todos por las respuestas, Lennin me llegó medio tarde tu consejo,
pero lo voy a tener en cuenta para la próxima, dejo mi precaria función para
el que la necesite o el que quiera corregirla:

CREATE OR REPLACE FUNCTION "public"."dar_permisos" (esquema varchar, usuario
varchar, privilegio varchar) RETURNS boolean AS
$BODY$
DECLARE
    registro  record;
BEGIN
  FOR registro IN SELECT * FROM pg_tables WHERE schemaname= esquema LOOP
          EXECUTE 'GRANT ' || privilegio || ' ON ' || esquema || '.' ||
registro.tablename || ' TO ' || usuario;
  END LOOP;
  RETURN TRUE;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE


Sergio Gabriel Rodríguez
http://www.3trex.com.ar

Responder a