web-dev-qa-db-fra.com

Quel est le mot de passe par défaut pour Postgres

Je viens d'installer Postgres 9.3 sur Windows 7. L'installation s'est terminée avec succès. Il ne m'a jamais demandé de fournir le mot de passe de l'utilisateur postgres.

Le service postgresql-x64-9.3 est opérationnel. Cependant, je ne peux pas me connecter: je ne connais pas le mot de passe. J'ai trouvé la réponse suivante, mais cela n'a pas aidé:

question similaire sur Ubunt

17
AlexC

AVERTISSEMENT : trust signifie exactement cela. Quiconque peut se connecter au serveur PostgreSQL peut le contrôler. Si vous définissez le mode trust qui permet aux superutilisateurs comme l'utilisateur postgres (ou all utilisateurs) de se connecter, ils obtiennent le contrôle total de votre PostgreSQL et peuvent probablement exécuter des commandes Shell également. Vous ne devez généralement l'utiliser que pour changer le mot de passe puis restaurer la configuration dans le mode d'authentification que vous utilisiez auparavant.


Si vous avez utilisé un script d'installation sans assistance, le mot de passe sera dans le script ou le fichier de configuration associé.

Sinon, traitez-le de la même manière que si vous avez perdu/oublié le mot de passe plutôt que de ne jamais le savoir:

  • Éditer pg_hba.conf, définissant le mode d'authentification sur trust au lieu du paramètre par défaut md5
  • Dans le panneau de configuration Services, redémarrez le service PostgreSQL
  • Connectez-vous avec psql ou PgAdmin ou autre
  • ALTER USER postgres PASSWORD 'mynewpassword';
  • Éditer pg_hba.conf à nouveau et redéfinissez le mode d'authentification sur md5
  • Redémarrez PostgreSQL à nouveau

pg_hba.conf est dans votre répertoire de données. Par défaut, ce sera %PROGRAMFILES%\PostgreSQL\9.3\data.

Pour le modifier, vous devrez utiliser l'onglet de sécurité pour vous accorder des autorisations de lecture/écriture (via une invite UAC). Cela peut vous obliger à vous définir en tant que propriétaire du fichier.


Sur les systèmes Unix, il est plus sûr de

local all all peer

ligne à pg_hba.conf puis Sudo -u postgres psql (en supposant que votre serveur PostgreSQL s'exécute en tant qu'utilisateur postgres) pour obtenir une session interactive psql sans utiliser de mot de passe. De cette façon, vous n'avez pas besoin d'utiliser trust.

21
Craig Ringer

allez dans contrôle >> gestion de l'ordinateur >> utilisateurs locaux et groupe >> utilisateurs >> clic droit sur openpgsvc >> définir le mot de passe. après cela, vous pouvez maintenant accéder avec ce mot de passe sur openpgsvc

0
lalit bhadouria