2009-05-28 1 views
15

J'ai un client qui a une base de données PostgreSQL et il ne peut pas se souvenir du mot de passe que nous avons utilisé lors de la configuration de la base de données. Existe-t-il un moyen de récupérer cette information afin que je n'ai pas à souffler sa base de données et à partir de zéro?Y a-t-il un moyen d'entrer dans une base de données PostgreSQL si vous avez oublié le mot de passe?

La base de données fonctionne sur un PC.

+0

Ne serait-ce mieux sur serverfault.com? – Elijah

Répondre

28

É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

Old Line:

tous les mots de passe postgres

locales

Modifier à:

locale toute confiance postgres

Étape 2: Redémarrez serveur PostgreSQL:

Service postgresql restart

Étape 3 : Changer le mot de passe:

psql -U postgres template1 -c modifier l'utilisateur postgres avec le mot de passe 'newpassword';

Étape 4: Le 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

Old Line:

locale toute confiance postgres

Changez comme suit:

locale tout mot de passe postgres

Étape 5: redémarrage du serveur et utilisez votre nouveau mot de passe pour accéder au serveur PostgreSQL.

Service postgresql restart

Source

+0

Est-ce que cela fonctionne encore? le répertoire/var/lib/pgsql/data/n'existe pas sur mon Ubuntu. –

+2

@ why-el: Sous Ubuntu 12.04, le fichier se trouve sous '/ etc/postgresql//main/pg_hba.conf'. J'ai vérifié que les instructions listées ici fonctionnent toujours. – Stephan202

+0

merci beaucoup pour cette réponse. –

2

9,2, dans les fenêtres:

Arrêtez le service

net stop postgresql-x64-9

Modifier le fichier de configuration, données de changement/pg_hba.conf, essentiellement md5 faire confiance

hôte tous les 127.0.0.1/32 confiance

hôte tous tous :: 1/128 confiance

Démarrez le service

net stop postgresql-x64-9

Exécutez l'instruction SQL pour définir votre mot de passe souhaité, sur une console SQL ou en utilisant psql:

utilisateur postgres alter avec le mot de passe « newpassword »;

Repositionner le fichier de configuration d'origine

Questions connexes