En plus des utilisateurs et des rôles par défaut fournis avec PostgreSQL, vous pouvez créer d'autres utilisateurs ou rôles PostgreSQL. Ces utilisateurs disposent des mêmes privilèges que l'utilisateur postgres
: CREATE ROLE
, CREATEDB
et LOGIN
. Pour en savoir plus sur ces droits d'accès, consultez CREATE ROLE
.
Vous pouvez modifier les droits de n'importe quel utilisateur à l'aide de la commande ALTER ROLE
. Si vous créez un utilisateur à l'aide du client psql
, vous pouvez l'associer à un autre rôle ou lui accorder des droits différents.
Avant de commencer
Pour utiliser les commandes PostgreSQL afin de gérer les utilisateurs sur un cluster, vous devez disposer des éléments suivants :
- Accès au client
psql
- Accès à l'utilisateur de la base de données
postgres
ou à un autre utilisateur disposant des droits d'administration appropriés
Créer un utilisateur de base de données
Pour créer un utilisateur de base de données qui s'authentifie directement auprès de la base de données à l'aide d'un nom d'utilisateur et d'un mot de passe (également appelée authentification intégrée), utilisez la commande suivante :
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
Remplacez les éléments suivants :
USERNAME
: nom d'utilisateur du rôle de l'utilisateur.PASSWORD
: nouveau mot de passe à attribuer au rôle utilisateur.
Pour savoir comment créer et définir des utilisateurs de base de données, consultez CREATE
USER
.
Après avoir créé un utilisateur ou un rôle, vous pouvez modifier ses droits à l'aide de la commande ALTER
ROLE
dans le client psql
.
Attribuer des rôles à un utilisateur de base de données
Pour attribuer des rôles à un utilisateur de base de données, utilisez la commande suivante :
GRANT ROLE to USERNAME;
Remplacez les éléments suivants :
ROLE
: rôle à accorder à l'utilisateur de la base de données.PASSWORD
: nouveau mot de passe à attribuer au rôle utilisateur.
Pour accorder à un utilisateur des droits de super-administrateur, attribuez-lui le rôle alloydbsuperuser
.
Modifier le mot de passe d'un utilisateur de base de données
Pour définir un nouveau mot de passe pour un utilisateur de base de données PostgreSQL standard, utilisez la commande suivante :
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
Remplacez les éléments suivants :
USERNAME
: nom d'utilisateur de la base de données.PASSWORD
: nouveau mot de passe à attribuer au rôle utilisateur.
Pour savoir comment modifier le mot de passe d'un utilisateur, consultez ALTER ROLE
.
Révoquer un rôle d'un utilisateur de base de données
Pour révoquer un droit précédemment accordé à un ou plusieurs rôles, ou pour révoquer l'appartenance d'un utilisateur à un rôle, utilisez la commande suivante :
REVOKE ROLE FROM USERNAME;
Pour supprimer les droits de super-utilisateur d'un utilisateur, révoquez le rôle alloydbsuperuser
de cet utilisateur.
Afficher la liste des utilisateurs de la base de données
Pour afficher un tableau de tous les utilisateurs de la base de données et de leurs appartenances à des groupes, utilisez la commande suivante :
\du
Supprimer un utilisateur de base de données
Avant de supprimer un utilisateur, vous devez supprimer tous les objets qu'il possède ou en réaffecter la propriété, et révoquer les droits accordés par le rôle sur d'autres objets.
Pour supprimer un utilisateur, utilisez la commande suivante :
DROP ROLE USERNAME;