Comment connecter Postgres au serveur localhost en utilisant pgAdmin sur Ubuntu?

104

J'ai installé Postgres avec cette commande

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

En utilisant psql --versionsur le terminal je reçoispsql (PostgreSQL) 9.3.4

puis j'ai installé pgadminavec

sudo apt-get install pgadmin3

Plus tard, j'ai ouvert l'interface utilisateur et créé le serveur avec ces informations

entrez la description de l'image ici

mais cette erreur apparaît

entrez la description de l'image ici

comment puis-je résoudre ce problème?

TuGordoBello
la source
téléchargez postgresql de v9.3 à partir de ce lien https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows et exécutez à nouveau pgadmin III, vous obtiendrez l'hôte local déjà installé, il n'est pas nécessaire de se connecter.
Dhavalkumar Prajapati

Réponses:

29

Vous n'avez pas créé d'utilisateur db. S'il s'agit simplement d'une nouvelle installation, l'utilisateur par défaut est postgreset le mot de passe doit être vide. Une fois que vous y avez accédé, vous pouvez créer les utilisateurs dont vous avez besoin.

Eric Workman
la source
43
Si je fais cela, cette erreur apparaît Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello
Ici, sur opensuse, le mot de passe de l'utilisateur postgres n'est pas vide, mais non défini (un point d'exclamation dans / etc / shadow). Aucune connexion par mot de passe possible.
Str.
Juste testé pour vérifier, et oui, Pg émet password authentication failedpour un utilisateur qui n'existe pas lors de l'utilisation d' md5auth.
Craig Ringer
1
comment créer un utilisateur?
ahnbizcad
2
"Erreur de connexion au serveur: fe_sendauth: aucun mot de passe fourni"
Cerin
174

Modifiez le mot de passe pour le rôle postgres:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Connectez-vous maintenant à pgadmin en utilisant le nom d'utilisateur postgres et le mot de passe postgres

Vous pouvez maintenant créer des rôles et des bases de données à l'aide de pgAdmin

Comment changer le mot de passe de l'utilisateur PostgreSQL?

WiredIn
la source
10
ou vous pouvez simplement .. 'sudo -u postgres psql' puis tapez '\ password'. appuyez sur Entrée. Entrez un nouveau mot de passe.
Jay Modi
1
Cela devrait être une réponse acceptée. Je vous remercie. Cela a beaucoup aidé.
Pramesh Bajracharya
25

Ça m'aide:


1. Ouvrez le fichier pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

et changez cette ligne:

Database administrative login by Unix domain socket
local   all             postgres                                md5

à

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Redémarrez le serveur

    redémarrage du service sudo postgresql

  2. Connectez-vous à psql et définissez le mot de passe

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Ouvrez à nouveau le fichierpg_hba.conf et modifiez cette ligne:
Connexion administrative à la base de données par socket de domaine Unix
    local tous les postgres font confiance

à

    Connexion administrative à la base de données par socket de domaine Unix
    local tout postgres md5
  1. Redémarrez le serveur

    redémarrage du service sudo postgresql


Ça marche.

entrez la description de l'image ici


Liens utiles
1: PostgreSQL (de ubuntu.com)

Artem Solovev
la source
Cela a résolu mon problème, mais pouvez-vous expliquer pourquoi il est nécessaire dans certains cas de changer la connexion d'administrateur de la base de données en confiance avant de définir le mot de passe postgres?
HostMyBus
@HostMyBus Salut mec, en fait je ne me souviens pas du tout de cette affaire. Essayez de trouver des réponses sur le Web (je pense qu'il y a une bonne explication à ce sujet)
Artem Solovev
@HostMyBus c'est une fonction de sécurité. S'il est défini sur confiance, tout utilisateur de la machine peut se connecter à la base de données.
Simon Zyx
Et vous n'en avez pas besoin en fait: utilisez simplement la réponse WiredIn
Simon Zyx
4

Créez d'abord un utilisateur. Vous devez le faire en tant qu'utilisateur postgres. Étant donné qu'aucun mot de passe n'est attribué au compte système postgres, vous pouvez d'abord définir un mot de passe ou procéder comme suit:

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

et le programme vous y invite.

Str.
la source
sudo -u postgres -imènera à une question de mot de passe. Il n'y a pas de mot de passe sur mon système que vous pouvez entrer. Ma proposition fonctionne toujours (hm, j'espère).
Str.
sudo -u postgress -ine conduit pas à une question de mot de passe (au moins sur mon Ubuntu après l'installation par défaut). Soit le createuser --interactivene mène pas à l'invite du mot de passe ... :(
Ondřej Doněk
@ OndřejDoněk ma proposition était sudo / bin / bash en premier, avez-vous fait ça?
Str.
que devez-vous saisir pour le rôle?
ahnbizcad
$ createuser --interactive Entrez le nom du rôle à ajouter: postgres le nouveau rôle sera-t-il un superutilisateur? (y / n)y
Elise Chant
2

Vous devez d'abord changer le mot de passe à l'aide du terminal. (le nom d'utilisateur est postgres)

postgres = # \ mot de passe postgres

Ensuite, vous serez invité à entrer le mot de passe et à le confirmer.

Vous pourrez maintenant vous connecter en utilisant pgadmin avec le nouveau mot de passe.

Pubudu
la source
0

si vous ouvrez la psqlconsole dans une fenêtre de terminal, en tapant

$ psql

votre nom d'utilisateur de super utilisateur sera affiché avant le =#, par exemple:

elisechant=#$

Ce sera le nom d'utilisateur que vous devrez utiliser pour localhost.

Elise Chant
la source