Connexion par mot de passe à PostgreSQL

La méthode d'authentification "peer"

La méthode de connexion par mot de passe permet de se connecter via le réseau en transmettant un mot de passe chiffré entre le client et le serveur.

Syntaxe

1
psql -h host -U user -d database

ExempleConnexion distante (méthode par mot de passe)

1
stc@supermachine:~$ psql -h localhost -U alan -d postgres

Le client psql se connecte sur la machine locale (au port standard) avec l'utilisateur alan à la base de données postgres.

Remarque

Ici l'utilisateur Linux est stc, mais l'utilisateur PostgreSQL est alan.

Il n'y a pas avec cette méthode de lien entre l'utilisateur Linux et l'utilisateur PostgreSQL.

Attention

Pour qu'une connexion par mot de passe soit possible, il est nécessaire que l'utilisateur ait un mot de passe au sein de PostgreSQL.

MéthodeAttribuer un mot de passe à l'utilisateur Postgres

  1. Se connecter au serveur en tant que postgres avec la méthode "peer"

    • sudo su postgres

    • psql

  2. Une fois connecté, attribuez un mot de passe à l'utilisateur concerné (cela peut-être postgres lui même) : ALTER USER postgres PASSWORD 'test';

  3. Se déconnecter de psql (\q)

  4. Se connecter en utilisant la méthode par mot de passe  : psql -h localhost -U postgres -d postgres

  5. Entrez le mot de passe

Complément

Il existe trois méthodes majeures (scram-sha-256, md5, password) pour ce type d'authentification. On utilise par défaut la méthode md5.

https://docs.postgresql.fr/current/auth-password.html