Gente,
  Hola!.
  Les consulto si lo siguiente puede ser realizado.

  Yo quiero asignar un conjunto de permisos por default para un Rol de
Grupo (sin permiso de login) y esquema. De esta forma me gustaría que, por
ejemplo, cuando un usuario perteneciente a este grupo cree una tabla en
este esquema la misma tenga permisos de select para un grupo, select,
update, insert y delete para otro.
  Intenté los suguiente, según leí en la doc, pero evidentemente entendí
algo mal porque no funciona.

CREATE ROLE dbaprueba_esquema1_adm
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE dbaprueba_esquema1_app
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE dbaprueba_esquema1_select
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

REATE ROLE dbaprueba_esquema1_dba LOGIN
  ENCRYPTED PASSWORD 'md50de1f0189c89f8355e43208aa39971de'
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

ALTER ROLE dbaprueba_esquema1_dba
  SET search_path = esquema1, public;
GRANT dbaprueba_esquema1_adm TO dbaprueba_esquema1_dba;

alter default privileges for role dbaprueba_esquema1_adm in schema esquema1
grant select on tables to dbaprueba_esquema1_select;
alter default privileges for role dbaprueba_esquema1_adm in schema esquema1
grant select, insert, update, delete on tables to dbaprueba_esquema1_app;

  Luego me gustaría que si el usuario dbaprueba_esquema1_dba crea una tabla
en esquema1, por ejemplo:

  create table nn ();

  Le agregue automáticamente los permisos:

GRANT SELECT ON TABLE esquema1.nn TO dbaprueba_esquema1_select;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE esquema1.nn TO
dbaprueba_esquema1_app;

  Saludos y gracias de antemano.
  Federico.

Responder a