ALTER USER

Nom

ALTER USER -- modifie le compte d'un utilisateur de la base de données

Synopsis

ALTER USER nom [ [ WITH ] option [ ... ] ]

où option peut être:

    [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse' 
    | CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER 
    | VALID UNTIL 'dateheure'

ALTER USER nom RENAME TO nouveaunom

ALTER USER nom SET parametre { TO | = } { valeur | DEFAULT }
ALTER USER nom RESET parametre

Description

ALTER USER sert à changer les attributs d'un compte utilisateur de PostgreSQL les attributs non mentionnés dans la commande gardent leur valeur précédente.

La première variante de cette commande dans les synopsis change certains privilèges globaux de l'utilisateur et les paramètres d'authentification (voir plus bas pour les détails.) Seul un super-utilisateur de la base de données peut changer ces privilèges et l'expiration du mot de passe. Les utilisateurs ordinaires peuvent seulement changer leur mot de passe.

La deuxième variante change le nom de l'utilisateur. Seul un super- utilisateur peut renommer des comptes utilisateurs. L'utilisateur de la session ne peut être renommé. (Connectez vous avec un autre utilisateurs si vous avez besoin de le faire.)

La troisième et la quatrième variante changent les paramètres de session par défaut pour une variable de configuration donnée. A chaque fois que l'utilisateur débute une nouvelle session, les valeurs spécifiées deviennent les valeurs par défaut de la session, quels que soient les paramètres présents dans postgresql.conf ou ceux reçus sur la ligne de commande par le postmaster. Les utilisateurs ordinaires peuvent changer les valeurs par défaut de leur propre session. Les super-utilisateurs peuvent changer les valeurs de session par défaut de tout le monde.

Paramètres

nom

Le nom de l'utilisateur dont les attributs doivent être modifiés.

motdepasse

Le nouveau mot de passe à utiliser pour ce compte.

ENCRYPTED
UNENCRYPTED

Ces mots clé contrôlent si le mot de passe est stocké crypté ou non dans pg_shadow. (Voir CREATE USER pour avoir plus d'information sur ce choix.)

CREATEDB
NOCREATEDB

Ces clauses indiquent si un utilisateur peut ou non créer des bases de données. Si CREATEDB est indiqué, alors l'utilisateur aura le droit de créer ses propres bases de données. L'utilisation de NOCREATEDB lui interdit de créer des bases de données.

CREATEUSER
NOCREATEUSER

Ces clauses indiquent si un utilisateur aura le droit de créer des nouveaux utilisateurs lui même. Cette option fera aussi de l'utilisateur un super-utilisateur qui peut passer outre toutes les restrictions d'accès.

dateheure

La date (et optionnellement l'heure) à laquelle le mot de passe de l'utilisateur expire. Pour indiquer que le mot de passe n'expire jamais, utilisez le littéral 'infinity'.

nouveaunom

Le nouveau nom de l'utilisateur.

paramètre
valeur

Remet la valeur de ce paramètre de configuration de session à sa valeur par défaut. Si valeur vaut DEFAULT ou RESET (les deux sont équivalents), alors la valeur spécifique à l'utilisateur qui était enregistrée est supprimée, et l'utilisateur héritera des valeurs générales du système dans ses nouvelles sessions. Utilisez RESET ALL pour supprimer toutes les valeurs enregistrées.

Voir SET et Section 16.4 pour plus d'informations sur les valeurs possibles pour les paramètres et leurs valeurs.

Notes

Utilisez CREATE USER pour ajouter de nouveaux utilisateurs, et DROP USER pour enlever un utilisateur.

ALTER USER ne permet pas de changer les groupes d'un utilisateur. Utilisez ALTER GROUP pour cela.

Avec ALTER DATABASE, il est aussi possible de lier la valeur d'un paramètre de session à une base de données plutôt qu'à un utilisateur.

Exemples

Changer le mot de passe d'un utilisateur:

ALTER USER davide WITH PASSWORD 'hu8jmn3';

Changer la date de fin de validité d'un utilisateur:

ALTER USER manuel VALID UNTIL 'Jan 31 2030';

Changer la date de fin de validité d'un utilisateur, en indiquant que sont autorisation doit expirer à midi le 4 mai 2005pour le fuseau horaire UTC+1:

ALTER USER chris VALID UNTIL 'May 4 12:00:00 2005 +1';

Rendre un utilisateur valide indéfiniment:

ALTER USER fred VALID UNTIL 'infinity';

Donner à un utilisateur le droit de créer de nouvelles bases de données et de nouveaux utilisateurs:

ALTER USER miriam CREATEUSER CREATEDB;

Compatibilité

La commande ALTER USER est une extension de PostgreSQL. En effet, le standard SQL laisse la façon de définir les utilisateurs au choix du SGBD.

Voir aussi

CREATE USER, DROP USER, SET