Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/10/2010, 21:04
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: dar permiso a un usuario sobre varias o todas la tablas

La solución que dan al final me parece excelente.
Pongamola aca
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION grant_all_privileges(p_user text, p_schema text)
  2. RETURNS void AS
  3. $BODY$
  4. DECLARE
  5.    objeto text;
  6. BEGIN
  7.    FOR objeto IN
  8.       SELECT tablename FROM pg_tables WHERE schemaname = p_schema
  9.       UNION
  10.       SELECT relname FROM pg_statio_all_sequences WHERE schemaname =
  11. p_schema
  12.    LOOP
  13.       RAISE NOTICE 'Asignando todos los privilegios a % sobre %.%', p_user,
  14. p_schema, objeto;
  15.       EXECUTE 'GRANT ALL PRIVILEGES ON ' || p_schema || '.' || objeto || '
  16. TO ' || p_user ;
  17.    END LOOP;
  18.  
  19. END;
  20. $BODY$
  21.   LANGUAGE 'plpgsql' VOLATILE;
tomado de http://comments.gmane.org/gmane.comp....spanish/43283

gracias carlos_belisaro. Mi script era propio pero este posteado sirve para cualquier base de datos para cualquier tabla.

saludos y ojala a muchos les sirva
__________________
Without data, You are another person with an opinion.
W. Edwads Deming