PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Quelle est la différence entre un utilisateur et un rôle ?

Les versions précédentes de Postgres, et certains autres systèmes de base de données, ont des concepts distincts de "groupes" (qui ont accès aux objets de la base de données) et "d'utilisateurs" (qui peuvent se connecter et sont membres d'un ou plusieurs groupes).

Dans les versions modernes de Postgres, les deux concepts ont été fusionnés :un "rôle" peut avoir la capacité de se connecter, la capacité "d'hériter" d'autres rôles (comme un utilisateur étant membre d'un groupe, ou un groupe étant membre d'un autre groupe), et l'accès aux objets de la base de données.

Pour plus de commodité, de nombreux outils et manuels font référence à tout utilisateur disposant d'une autorisation de connexion en tant qu'"utilisateur" ou "rôle de connexion", et tout utilisateur sans autorisation en tant que "groupe" ou "rôle de groupe", car il est utile et courant de s'en tenir à peu près à cette structuration. Il s'agit entièrement d'une convention de terminologie, et pour comprendre les autorisations, il vous suffit de comprendre les options disponibles lorsque créer des rôles et leur accordant l'accès .

Encore une fois purement par commodité, Postgres accepte toujours les commandes utilisant l'ancienne terminologie, telles que CREATE USER et CREATE GROUP qui sont tous deux des alias pour CREATE ROLE . Si vous écrivez CREATE USER , le LOGIN l'autorisation sera ajoutée au nouveau rôle par défaut, pour émuler l'ancien comportement lorsqu'il s'agissait d'une commande distincte.