web-dev-qa-db-fra.com

postgres: mettre à jour un utilisateur pour qu'il devienne superutilisateur?

Dans postgres, comment puis-je changer un utilisateur existant en superutilisateur? Je ne veux pas supprimer l'utilisateur existant, pour diverses raisons.

# alter user myuser ...?
610
flossfan
ALTER USER myuser WITH SUPERUSER;

Docs.

1203
Quassnoi

Pour développer ce qui précède et faire une référence rapide:

  • Pour transformer un utilisateur en superutilisateur: ALTER USER username WITH SUPERUSER;
  • Pour qu'un utilisateur ne soit plus un superutilisateur: ALTER USER username WITH NOSUPERUSER;
  • Pour permettre simplement à l'utilisateur de créer une base de données: ALTER USER username CREATEDB;

Vous pouvez également utiliser CREATEROLE et CREATEUSER pour autoriser les privilèges d'un utilisateur sans en faire un superutilisateur.

Documentation

60
AirCombat

$ su - postgres
$ psql
$ \du; pour voir l'utilisateur sur la base de données
sélectionnez l'utilisateur que vous voulez être superutilisateur et:
$ ALTER USER "user" with superuser;

22
el fuser

Exécuter cette commande

alter user myuser with superuser;

Si vous voulez voir l'autorisation d'un utilisateur, exécutez la commande suivante

\du
8
Chetan kapoor

Il peut arriver que la mise à niveau vers un superutilisateur ne soit pas une bonne option. Donc, en dehors du super utilisateur, il y a beaucoup d'autres options que vous pouvez utiliser. Ouvrez votre terminal et tapez ce qui suit:

$ Sudo su - postgres
[Sudo] password for user: (type your password here)
$ psql
postgres@user:~$ psql
psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1))
Type "help" for help.

postgres=# ALTER USER my_user WITH option

Énumérant également la liste des options

SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB  | CREATEROLE | NOCREATEROLE |
CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION|
NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | 
[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp'

Donc, en ligne de commande, cela ressemblera à

postgres=# ALTER USER my_user WITH  LOGIN

OU utilisez un mot de passe crypté.

postgres=# ALTER USER my_user  WITH ENCRYPTED PASSWORD '5d41402abc4b2a76b9719d911017c592';

OU révoquer les autorisations après une heure spécifique.

postgres=# ALTER USER my_user  WITH VALID UNTIL '2019-12-29 19:09:00';
7
Sandip Debnath

modifier le nom d'utilisateur superutilisateur;

3
Bala

Vous pouvez créer un SUPERUSER ou promouvoir USER
Pour empêcher la commande de se connecter, insérez un espace devant elle, mais vérifiez que votre système prend en charge cette option.

$  Sudo -u postgres psql -c "CREATE USER my_user WITH PASSWORD 'my_pass';"

pour votre cas ou

$  Sudo -u postgres psql -c "CREATE USER my_user WITH SUPERUSER PASSWORD 'my_pass';"
2
Vasilii Suricov