Boa tarde, estou implementado umas regras para somente leitura em um banco de dados e utilizei as seguintes linhas:
GRANT CONNECT ON DATABASE "hom-jurimetria_meli_dw" TO role_finch_db_n1_hom_jurimetria_meli_dw;
GRANT USAGE ON SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
REVOKE CREATE ON SCHEMA public FROM role_finch_db_n1_hom_jurimetria_meli_dw;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT EXECUTE ON ALL PROCEDURES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON DATABASE "hom-jurimetria_meli_dw" TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON ALL PROCEDURES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "role_finch_db_n1_hom_jurimetria_meli_dw";
REVOKE CREATE ON DATABASE "hom-jurimetria_meli_dw" FROM role_finch_db_n1_hom_jurimetria_meli_dw;
REVOKE INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA PUBLIC FROM role_finch_db_n1_hom_jurimetria_meli_dw;
Esta tudo funcioinando certinho, o que não estou conseguindo colocar é quando eu crio com um Superusuario um novo Schema essa role não consegue dar um select dá permissão negada, consigo somente se eu inserir:
GRANT USAGE ON SCHEMA teste TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT SELECT ON ALL TABLES IN SCHEMA teste TO "role_finch_db_n1_hom_jurimetria_meli_dw";
A minha pergunta é eu vou precisar adicionar essas regras em cada schema criado? Ou existe uma maneira de ele enxergar e conseguir dar um select de frma global sem precisar adicionar essas linhas de permissão.
GRato