Tout d'abord, il est important de comprendre que pour la plupart des distributions Unix, l'utilisateur Postgres par défaut n'exige ni n'utilise de mot de passe pour l'authentification. Au lieu de cela, selon la façon dont Postgres a été installé à l'origine et la version que vous utilisez, la méthode d'authentification par défaut sera soit ident
ou peer
.
ident
l'authentification utilise le serveur d'identification du système d'exploitation exécuté sur le port TCP 113 pour vérifier les informations d'identification de l'utilisateur.
peer
l'authentification, d'autre part, est utilisée pour les connexions locales et vérifie que le nom d'utilisateur connecté du système d'exploitation correspond au nom d'utilisateur de la base de données Postgres.
Connexion et connexion en tant qu'utilisateur par défaut
Pour la plupart des systèmes, l'utilisateur Postgres par défaut est postgres
et un mot de passe n'est pas requis pour l'authentification. Ainsi, pour ajouter un mot de passe, il faut d'abord se connecter et se connecter en tant que postgres
utilisateur.
$ sudo -u postgres psql
Si vous vous êtes connecté avec succès et que vous visualisez le psql
invite, sautez jusqu'à Modifier le mot de passe rubrique.
Si vous avez reçu une erreur indiquant que la base de données "postgres" n'existe pas, essayez de vous connecter au template1
base de données à la place et en cas de succès, passez à Modification du mot de passe .
$ sudo -u postgres psql template1
Erreur d'authentification
Si vous recevez une erreur d'authentification lors de la tentative de connexion au psql
client, vous devrez peut-être modifier le fichier de configuration d'authentification Postgres (pg_hfa.conf).
Ouvrez le fichier de configuration, généralement situé dans /etc/postgresql/#.#/main/pg_hba.conf
, où #.#
est la version de Postgres que vous utilisez :
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
Le fichier de configuration auth est une liste de règles d'authentification. Faites défiler le fichier jusqu'à ce que vous trouviez la première ligne affichant le postgres
utilisateur dans la troisième colonne (si une telle ligne existe). Décommentez la ligne si nécessaire (supprimez le point-virgule), ou sinon si la ligne est entièrement manquante, ajoutez la ligne suivante en haut du fichier et enregistrez vos modifications :
local all postgres peer
Cette règle d'authentification indique simplement à Postgres que pour les connexions locales établies à toutes les bases de données pour l'utilisateur postgres
, authentifiez-vous en utilisant le peer
protocole.
Remarque :certaines anciennes versions de Postgres préfèrent la méthode d'authentification par défaut d'ident, mais la plupart des installations modernes utiliseront à la place peer comme spécifié ci-dessus. Vous devrez peut-être tester les deux si vos résultats diffèrent.
Maintenant que votre fichier de configuration est mis à jour, répétez les étapes de la section Connexion et connexion en tant qu'utilisateur par défaut section à laquelle essayer de se connecter en tant que postgres
par défaut utilisateur. Une fois réussi, procédez à la modification du mot de passe.
Changer le mot de passe
Avec une connexion maintenant établie à Postgres au psql
invite, émettez le ALTER USER
commande pour changer le mot de passe pour le postgres
utilisateur :
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
En cas de succès, Postgres affichera une confirmation de ALTER ROLE
comme vu ci-dessus.
Enfin, quittez le psql
client en utilisant le \q
commande.
postgres=# \q
Vous avez terminé. Le postgres
par défaut l'utilisateur a maintenant un mot de passe associé au compte à utiliser dans vos autres applications.