Le catalogue pg_authid contient les informations concernant les identifiants pour les autorisations d'accès aux bases de données (rôles). Un rôle englobe les concepts d'« utilisateur » et de « groupe ». Un utilisateur est essentiellement un rôle qui a l'attribut de connexion (rolcanlogin). Tout rôle (avec ou sans rolcanlogin) peut avoir d'autres rôles comme membres ; voir pg_auth_members.
Comme ce catalogue contient les mots de passe, il ne doit pas être lisible par tout le monde. pg_roles est une vue, lisible par tout le monde, de pg_authid qui masque le champ du mot de passe.
Chapitre 20, Rôles et droits de la base de données contient des informations détaillées sur les utilisateurs et sur la gestion des droits.
Comme l'identité des utilisateurs est identique pour tout le cluster de bases de données, pg_authid est partagé par toutes les bases du cluster ; il n'existe qu'une seule copie de pg_authid par cluster, non une par base de données.
Tableau 45.8. Colonnes de pg_authid
Nom | Type | Description |
---|---|---|
rolname | name | Nom du rôle |
rolsuper | bool | Le rôle est superutilisateur |
rolinherit | bool | Le rôle hérite automatiquement des droits des rôles dont il est membre |
rolcreaterole | bool | Le rôle peut créer d'autres rôles |
rolcreatedb | bool | Le rôle peut créer des bases de données |
rolcatupdate | bool | Le rôle peut mettre à jour les catalogues système directement. (Même un superutilisateur ne peut le faire si cette colonne n'est pas à true.) |
rolcanlogin | bool | Le rôle peut se connecter, c'est-à-dire qu'il peut être donné comme identifiant d'autorisation de session. |
rolconnlimit | int4 | Pour les rôles qui peuvent se connecter, indique le nombre maximum de connexions concurrentes que le rôle peut initier. -1 signifie qu'il n'y a pas de limite. |
rolpassword | text | Le mot de passe (éventuellement chiffré) ; NULL si aucun. Si le mot de passe est chiffré, cette colonne contient la chaîne « md5 » suivi par un hachage md5 hexadécimal sur 32 caractères. Le hachage md5 correspondra au mot de passe de l'utilisateur concaténé à son nom (par exemple si l'utilisateur joe a le mot de passe xyzzy, PostgreSQL™ enregistrera le hachage md5 du mot xyzzyjoe). |
rolvaliduntil | timestamptz | Date d'expiration du mot de passe (utilisée uniquement pour l'authentification par mot de passe) ; NULL si indéfiniment valable |