Dans ce tutoriel, nous allons explorer comment réinitialiser les mots de passe des utilisateurs avec le serveur PostgreSQL. Il est bon de rappeler que les utilisateurs de la base de données dans ce cas font référence aux utilisateurs ayant accès au moteur de base de données. Par conséquent, cela n'inclut pas les données utilisateur pour une application donnée.
Méthode 1 : Utilisation de l'utilitaire PSQL
La manière la plus courante de réinitialiser un mot de passe utilisateur dans PostgreSQL consiste à se connecter en tant que superutilisateur (Postgres) à l'aide de l'utilitaire PSQL.
Lancez une nouvelle session de terminal et exécutez la commande suivante pour accéder à la base de données PostgreSQL en tant que superutilisateur :
$ psql -DANS postgres
La commande donnée vous invite à entrer le mot de passe du superutilisateur tel que défini lors de la configuration du serveur.
Une fois connecté à l'interface de ligne de commande PostgreSQL, vous pouvez utiliser la commande ALTER USER pour réinitialiser le mot de passe d'un nom d'utilisateur spécifique.
La syntaxe de la commande est la suivante :
MODIFIER le nom d'utilisateur AVEC LE MOT DE PASSE 'nouveau mot de passe' ;Par exemple, supposons que nous souhaitions réinitialiser le mot de passe pour le nom d'utilisateur appelé 'linuxhint'. Nous pouvons exécuter la requête comme suit :
ALTER USER linuxhint AVEC MOT DE PASSE 'mot de passe' ;
Vous devez placer le mot de passe entre guillemets simples, principalement si le mot de passe contient des caractères spéciaux.
Une fois la commande exécutée avec succès, vous pouvez vous déconnecter de l'interface PSQL à l'aide de la commande suivante :
\qMéthode 2 : Utilisation de l'interface graphique PgAdmin
Vous pouvez également réinitialiser le mot de passe d'un utilisateur de base de données donné à l'aide de l'interface graphique pgAdmin.
Vous pouvez suivre les étapes décrites ici pour savoir comment réinitialiser un mot de passe utilisateur à l'aide de pgAdmin :
un. Lancez l'utilitaire pgAdmin et connectez-vous avec les informations d'identification correctes.
b. Connectez-vous au serveur PostgreSQL cible à l'aide des informations d'identification de superutilisateur.
c. Dans le volet Explorateur d'objets sur le côté gauche, développez le groupe 'Serveurs' et accédez à la base de données cible.
d. Développez le nœud 'Connexion/Rôles de groupe' pour trouver l'utilisateur dont vous souhaitez réinitialiser le mot de passe. Dans ce cas, nous souhaitons réinitialiser le mot de passe de l'utilisateur « linuxhint ».
e. Faites un clic droit sur l'utilisateur sélectionné et choisissez 'Propriétés' dans le menu contextuel.
F. Dans la fenêtre 'Propriétés', accédez à l'onglet 'Définition'.
g. Indiquez le nouveau mot de passe dans le champ 'Mot de passe' pour l'utilisateur défini.
h. Enfin, cliquez sur 'Enregistrer' pour enregistrer les modifications.
Cela devrait définir le nouveau mot de passe fourni pour l'utilisateur cible.
Méthode 3 : Modification du fichier de configuration du mot de passe PostgreSQL
Si vous avez oublié le mot de passe du compte superutilisateur, vous pouvez réinitialiser le mot de passe en modifiant le fichier de configuration du mot de passe PostgreSQL.
Commencez par localiser le répertoire de données pour votre installation PostgreSQL. Le chemin de ce répertoire varie en fonction de votre système d'exploitation et de la version PostgreSQL installée.
Dans le répertoire de données, localisez le fichier pg_hba.conf et modifiez-le avec l'éditeur de texte de votre choix.
Modifiez toutes les connexions locales de md5 à trust. Cela indique à PostgreSQL de faire confiance à toutes les connexions entrantes de la machine locale sans mot de passe.
# TYPE BASE DE DONNÉES UTILISATEUR ADRESSE MÉTHODE# 'local' est pour les connexions de socket de domaine Unix uniquement
local tous tous confiance
# Connexions locales IPv4 :
héberger tous tous 127.0.0.1/32 confiance
# Connexions locales IPv6 :
héberger tous tous ::1/128 confiance
# Autoriser les connexions de réplication à partir de localhost, par un utilisateur avec le
# privilège de réplication.
local réplication tous confiance
hôte réplication tous 127.0.0.1/32 confiance
hôte réplication tous ::1/128 confiance
Une fois terminé, vous devez redémarrer le serveur PostgreSQL pour que les modifications prennent effet. Vous pouvez ensuite vous connecter au serveur PostgreSQL en utilisant l'utilisateur Postgres sans mot de passe.
Conclusion
Nous avons exploré les différentes méthodes et techniques que nous pouvons utiliser pour réinitialiser un mot de passe utilisateur dans PostgreSQL.