Est-il possible de pénétrer dans une base de données PostgreSQL si vous avez oublié le mot de passe?
-
06-09-2019 - |
Question
J'ai un client qui a une base de données PostgreSQL et il ne peut pas se rappeler le mot de passe que nous avons utilisé lorsque la base de données a été installé. Est-il possible de récupérer cette information, donc je ne dois pas souffler sa base de données et repartir à zéro?
La base de données est en cours d'exécution sur un PC.
La solution
Étape 1: Modifier le fichier de configuration PostgreSQL pour établir des relations de confiance pour se connecter sans mot de passe:
vi /var/lib/pgsql/data/pg_hba.conf
Ancienne ligne:
tout mot de passe postgres locale
Changer à:
locale toute confiance postgres
Étape 2: Redémarrer serveur PostgreSQL:
Service restart postgresql
Étape 3: Modifier le mot de passe:
postgres -U psql template1 -c modifient postgres d'utilisateur avec le mot de passe « newpassword »;
Étape 4: Mot de passe a été mis à jour. Revenir les paramètres d'origine du fichier de configuration:
vi /var/lib/pgsql/data/pg_hba.conf
Ancienne ligne:
locale toute confiance postgres
Changer à:
tout mot de passe postgres locale
Étape 5:. Redémarrez le serveur et utilisez votre nouveau mot de passe pour accéder au serveur PostgreSQL
Service restart postgresql
Autres conseils
Pour 9.2, dans les fenêtres:
Arrêtez le service:
postgresql-x64-9 net stop
Modifier le fichier de configuration, modifier les données / pg_hba.conf, essentiellement md5 faire confiance:
host tous les 127.0.0.1/32 confiance
host tous tous :: 1/128 confiance
Démarrer le service:
Net start-postgresql x64-9
Exécutez l'instruction SQL pour définir votre mot de passe souhaité, sur une console SQL ou en utilisant psql:
modifier postgres utilisateur avec le mot de passe « newpassword »;
Remettre en place le fichier de configuration d'origine.