Création des rôles
Méthode : Nous allons maintenant créer les deux rôles de groupe
Ajouter le rôle de groupe ecrivainsXX :
clic droit sur Rôles de connexion / groupe
puis
Ajouter un rôle de groupe...
Rappel : Un rôle de connexion ne se distingue d'un rôle de groupe que par l'activation de la possibilité 'connexion autorisé' (LOGIN en SQL)
Vérifier dans l'onglet SQL que vous avez (remplacer XX par votre numéro de stagiaire) :
CREATE ROLE ecrivainsXX WITH
NOLOGIN
NOSUPERUSER
NOCREATEDB
NOCREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1;
COMMENT ON ROLE ecrivains00 IS 'droits d''écriture dans le schema producteur de la base droit00';
IS 'droit d''ecriture dans le schema producteur';
On utilise ici très peu les options de commande CREATE ROLE
que l'on pourra quand même relire au passage...
De même, créer le rôle lecteurXX :
CREATE ROLE lecteurXX WITH
NOLOGIN
NOSUPERUSER
NOCREATEDB
NOCREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1;
Méthode : Rôles de connexion
Pour l'instant les rôles lecteurXX et ecrivainsXX sont identiques et n'accordent aucun droit spécifique.
Nous allons maintenant créer deux rôles de connexion :
garyXX qui appartiendra au groupe lecteurXX et ecrivainsXX,
michaelXX qui appartiendra au groupe lecteurXX (rappel : remplacer XX par le numéro qui vous a été attribué)
Faire clic droit sur rôle de connexion / groupe
puis créer un rôle en activant dans l'onglet droits '
connexion autorisé
'
Lui donner un mot de passe dans l'onglet Définition (ex :
garyXX
) (La saisie d'un mot de passe est obligatoire pour définir un rôle de connexion).Laisser les autres paramètres par défaut dans l'onglet Droits (hérite des droits des rôles parents activé).
Indiquez dans l'onglet appartenance du rôle qu'il est membre de ecrivainsXX et de lecteurXX
La syntaxe SQL dans l'onglet SQL doit être :
CREATE ROLE gary00 WITH
LOGIN
NOSUPERUSER
NOCREATEDB
NOCREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD 'xxxxxx';
GRANT ecrivains00, lecteur00 TO gary00;
COMMENT ON ROLE gary00 IS 'gary Scherman est le fondateur du projet QGIS !';
De même créer le rôle de connexion michaelXX (Michael Stonebraker est le fondateur du projet PostgreSQL) et indiquer qu'il est membre du groupe lecteurXX.