PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment définir le mot de passe utilisateur par défaut dans PostgreSQL

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.