1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| --###############################
-- connecté en super utilisateur:
--###############################
--Créer le schéma "MON_SCHEMA"
CREATE SCHEMA "MON_SCHEMA" AUTHORIZATION super_utilisateur;
--Créer le rôle groupe "MON_SCHEMA_ROLE"
CREATE ROLE "MON_SCHEMA_ROLE" NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
--Créer le rôle de connexion "MON_SCHEMA_CONNECT"
CREATE ROLE "NOM_SCHEMA_CONNECT" LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD 'abcde' VALID UNTIL 'infinity';
--Modifier le search_path par défaut:
ALTER ROLE "MON_SCHEMA_CONNECT" SET search_path = "MON_SCHEMA", public;
--Affecter les droits "MON_SCHEMA_ROLE" à "MON_SCHEMA_CONNECT"
GRANT "MON_SCHEMA_ROLE" TO "MON_SCHEMA_CONNECT"
--Affecter les droits "MON_SCHEMA_ROLE" à "ADMIN_ROLE"
GRANT "MON_SCHEMA_ROLE" TO "ADMIN_ROLE"
--Donner accès total au schéma "MON_SCHEMA" pour "MON_SCHEMA_ROLE"
GRANT ALL ON SCHEMA "MON_SCHEMA" TO "MON_SCHEMA_ROLE"
--Donner accès à des tables, séquences, vues (ou autres) dun autre schéma:
GRANT USAGE ON SCHEMA "SCHEMA_CIBLE" TO "MON_SCHEMA_ROLE"; --droit dutiliser le schéma
GRANT SELECT [, INSERT,
] ON TABLE "SCHEMA_CIBLE"."NOM_TABLE" TO "MON_SCHEMA_ROLE"; --droit sur une table
--###############################
-- connecté en MON_SCHEMA_CONNECT:
--###############################
--créer les tables, séquences, vues en spécifiant comme owner: MON_SCHEMA_ROLE |
Partager