postgres: mettre à niveau un utilisateur pour qu’il devienne un superutilisateur?

Dans postgres, comment changer un utilisateur existant pour qu’il devienne un superutilisateur? Je ne veux pas supprimer l’utilisateur existant pour diverses raisons.

# alter user myuser ...? 

 ALTER USER myuser WITH SUPERUSER; 

Docs.

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

  • Pour faire d’un utilisateur un nom d’utilisateur SuperUser: ALTER USER username WITH SUPERUSER;
  • Pour que l’utilisateur ne soit plus un ALTER USER username WITH NOSUPERUSER; SuperUser: ALTER USER username WITH NOSUPERUSER;
  • Pour autoriser simplement l’utilisateur à créer une firebase database: ALTER USER username CREATEDB;

Vous pouvez également utiliser CREATEROLE et CREATEUSER pour autoriser un utilisateur sans en faire un superutilisateur.

Documentation

$ su - postgres
$ psql
$ \du; pour voir l’utilisateur sur db
sélectionnez l’utilisateur que vous voulez être superutilisateur et:
$ ALTER USER "user" with superuser;

Exécuter cette commande

 alter user myuser with superuser; 

Si vous voulez voir l’autorisation à un utilisateur, exécutez la commande suivante

 \du 

modifier le nom d’utilisateur superutilisateur;

Peut-être que la mise à niveau vers un superutilisateur peut ne pas être une bonne option. Donc, mis à part le 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 

Liste é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, ça va ressembler

 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 permissions après une heure spécifique.

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