PostgreSQL fournit une série de rôles par défaut qui donnent accès à certaines informations et fonctionnalités privilégiées, habituellement nécessaires. Les administrateurs peuvent autoriser ces rôles à des utilisateurs et/ou à d'autres rôles de leurs environnements, fournissant à ces utilisateurs les fonctionnalités et les informations spécifiées.
Les rôles par défaut sont décrits dans Tableau 21.1. A noter que les permissions spécifiques pour chacun des rôles par défaut peuvent changer dans le futur si des fonctionnalités supplémentaires sont ajoutées. Les administrateurs devraient surveiller les notes de versions pour en connaitre les changements.
Tableau 21.1. Rôles par défaut
| Rôle | Accès autorisé | 
|---|---|
| pg_read_all_settings | Lit toutes les variables de configuration, y compris celles normalement visibles des seuls super-utilisateurs. | 
| pg_read_all_stats | Lit toutes les vues pg_stat_* et utilise plusieurs extensions relatives aux statistiques, y compris celles normalement visibles des seuls super-utilisateurs. | 
| pg_stat_scan_tables | Exécute des fonctions de monitoring pouvant prendre des verrous
       verrous ACCESS SHAREsur les tables, potentiellement
       pour une longue durée. | 
| pg_monitor | Lit et exécute plusieurs vues et fonctions de monitoring.
       Ce rôle est membre de pg_read_all_settings,pg_read_all_statsetpg_stat_scan_tables. | 
| pg_signal_backend | Envoie des signaux à d'autres processus serveurs pour annuler une requête ou fermer une session. | 
   Les rôles pg_monitor, pg_read_all_settings,
   pg_read_all_stats et pg_stat_scan_tables
   ont pour but de permettre aux administrateurs de configurer aisément un rôle
   en vu de superviser le serveur de base de données. Ils accordent un ensemble
   de privilèges permettant au rôle de lire plusieurs paramètres de configuration,
   statistiques et information système normalement réservés aux super-utilisateurs.
  
   Le rôle pg_signal_backend a pour but de permettre aux
   administrateurs d'activer pour certains rôles de confiance, qui ne sont
   pas superutilisateur, la possibilité d'envoyer des signaux aux autres
   processus. Actuellement, ce rôle active l'envoi de signaux pour annuler
   une requête d'un autre processus ou pour terminer sa session. Un utilisateur
   qui a ce rôle ne peut cependant pas envoyer des signaux au processus d'un
   superutilisateur. Voir Section 9.26.2.
  
On portera une attention particulière en accordant ces rôles afin de garantir qu'ils ne sont utilisés que pour réaliser la supervision attendue.
Les administrateurs peuvent autoriser l'accès à ces rôles aux utilisateurs en utilisant la commande GRANT :
GRANT pg_signal_backend TO admin_user;