CREATE OR REPLACE FUNCTION setTablePrivilege(schemaname text, role_name text)
RETURNS text AS
$BODY$
DECLARE
sqlstr text;
aTable RECORD;
privilegeStr text;
fullname text;
BEGIN
sqlstr:='select schemaname,tablename from pg_tables where schemaname ='''||schemaname||'''';
FOR aTable IN execute sqlstr LOOP
fullname := aTable.schemaname||'.'||aTable.tablename;
privilegeStr :='GRANT SELECT ON TABLE ' || fullname || ' TO ' || role_name || ';';
execute privilegeStr;
end loop;
return 'ok';
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;