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 :
psql -h host -U user -d database
Exemple : Connexion distante (méthode par mot de passe)
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éthode : Attribuer un mot de passe à l'utilisateur Postgres
Se connecter au serveur en tant que postgres avec la méthode "peer"
sudo su postgres
psql
Une fois connecté, attribuez un mot de passe à l'utilisateur concerné (cela peut-être postgres lui même) :
ALTER USER postgres PASSWORD 'test';
Se déconnecter de psql (
\q
)Se connecter en utilisant la méthode par mot de passe :
psql -h localhost -U postgres -d postgres
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.