Wie verbinde ich Postgres mit pgAdmin unter Ubuntu mit dem localhost-Server?


102

Ich habe Postgres mit diesem Befehl installiert

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

Mit psql --versionam Terminal bekomme ichpsql (PostgreSQL) 9.3.4

dann installierte ich pgadminmit

sudo apt-get install pgadmin3

Später habe ich die Benutzeroberfläche geöffnet und den Server mit diesen Informationen erstellt

Geben Sie hier die Bildbeschreibung ein

aber dieser Fehler erscheint

Geben Sie hier die Bildbeschreibung ein

wie kann ich es reparieren?


Laden Sie postgresql von v9.3 von diesem Link herunter https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows und führen Sie pgadmin III erneut aus. Sie erhalten, dass der lokale Host bereits installiert ist und keine Verbindung hergestellt werden muss.
Dhavalkumar Prajapati

Antworten:


29

Sie haben keinen Benutzer erstellt db. Wenn es sich nur um eine Neuinstallation handelt, ist der Standardbenutzer postgresund das Kennwort sollte leer sein. Nachdem Sie darauf zugegriffen haben, können Sie die gewünschten Benutzer erstellen.


43
Wenn ich das mache, erscheint dieser Fehler Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello

Hier bei opensuse ist das postgres-Benutzerkennwort nicht leer, sondern undefiniert (ein Ausrufezeichen in / etc / shadow). Keine Passwortanmeldung möglich.
Str.

Nur getestet, um zu überprüfen, und ja, Pg wird password authentication failedfür einen Benutzer md5ausgegeben , der bei Verwendung von auth nicht vorhanden ist .
Craig Ringer

1
Wie erstellt man einen Benutzer?
Ahnbizcad

2
"Fehler beim Verbinden mit dem Server: fe_sendauth: kein Passwort angegeben"
Cerin

174

Ändern Sie das Passwort für die Rolle postgres:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Stellen Sie nun mit dem Benutzernamen postgres und dem Passwort postgres eine Verbindung zu pgadmin her

Jetzt können Sie Rollen und Datenbanken mit pgAdmin erstellen

Wie ändere ich das PostgreSQL-Benutzerpasswort?


10
oder Sie können einfach .. 'sudo -u postgres psql' und dann '\ password' eingeben. drücke Enter. neues Passwort eingeben.
Jay Modi

1
Dies sollte als Antwort akzeptiert werden. Danke dir. Das hat sehr geholfen.
Pramesh Bajracharya

25

Es hilft mir:


1. Öffnen Sie die Datei pg_hba.conf

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

und ändern Sie diese Zeile:

Database administrative login by Unix domain socket
local   all             postgres                                md5

zu

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Starten Sie den Server neu

    sudo service postgresql neu starten

  2. Melden Sie sich bei psql an und legen Sie das Passwort fest

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Wieder öffnen Sie die Datei pg_hba.conf und ändern Sie diese Zeile:
Datenbankadministratorische Anmeldung über Unix Domain Socket
    lokal alle postgres vertrauen

zu

    Datenbankadministratorische Anmeldung über Unix Domain Socket
    lokal alle postgres md5
  1. Starten Sie den Server neu

    sudo service postgresql neu starten


Es klappt.

Geben Sie hier die Bildbeschreibung ein


Hilfreiche Links
1: PostgreSQL (von ubuntu.com)


Dies hat mein Problem gelöst, aber können Sie erklären, warum es in einigen Fällen erforderlich ist, die Anmeldung des Datenbankadministrators vor dem Festlegen des Postgres-Kennworts auf Vertrauen zu ändern?
HostMyBus

@ HostMyBus Hallo Mann, eigentlich erinnere ich mich überhaupt nicht an diesen Fall. Versuchen Sie, einige Antworten aus dem Internet zu finden (ich denke, es gibt eine gute Erklärung dafür)
Artem Solovev

@ HostMyBus Dies ist eine Sicherheitsfunktion. Wenn es auf Vertrauen eingestellt ist, kann sich jeder Benutzer auf dem Computer bei der Datenbank anmelden.
Simon Zyx

Und Sie brauchen es eigentlich nicht: Verwenden Sie einfach die WiredIn-Antwort
Simon Zyx

4

Erstellen Sie zuerst einen Benutzer. Sie müssen dies als Benutzer postgres tun. Da dem Postgres-Systemkonto kein Kennwort zugewiesen ist, können Sie entweder zuerst ein Kennwort festlegen oder wie folgt vorgehen:

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

und das Programm fordert Sie auf.


sudo -u postgres -iführt zu einer Passwortfrage. Auf meinem System gibt es kein Passwort, das Sie eingeben können. Mein Vorschlag funktioniert immer (hm, hoffentlich).
Str.

sudo -u postgress -iführt nicht zu einer Passwortfrage (zumindest auf meinem Ubuntu nach der Standardinstallation). Entweder createuser --interactiveführt das nicht zur Passwortabfrage ... :(
Ondřej Doněk

@ OndřejDoněk mein Vorschlag war zuerst sudo / bin / bash, hast du das gemacht?
Str.

Was solltest du für die Rolle eingeben?
Ahnbizcad

$ createuser --interactive Geben Sie den Namen der hinzuzufügenden postgres Rolle ein : Soll die neue Rolle ein Superuser sein? (j / n)y
Elise Chant

2

Zuerst sollten Sie das Passwort über das Terminal ändern. (Benutzername ist postgres)

postgres = # \ password postgres

Anschließend werden Sie aufgefordert, das Kennwort einzugeben und zu bestätigen.

Jetzt können Sie mit pgadmin eine Verbindung mit dem neuen Passwort herstellen.


0

Wenn Sie die psqlKonsole in einem Terminalfenster öffnen , geben Sie Folgendes ein

$ psql

Ihr Superuser-Benutzername wird vor dem angezeigt =#, zum Beispiel:

elisechant=#$

Dies ist der Benutzername, den Sie für localhost verwenden sollten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.