Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Anfängerfrage: Verbindung "als Benutzer" nicht möglich: Ident-Authentifizierung fehlg

  1. #1
    sandbank ist offline Neuer Benutzer
    Registriert seit
    31.10.2010
    Beiträge
    5

    Standard Anfängerfrage: Verbindung "als Benutzer" nicht möglich: Ident-Authentifizierung fehlg

    Hallo zusammen!

    Als Datenbankneuling habe ich mir das Buch "PostgrSQL. Installation, Grundlagen, Praxis" gekauft und scheitere auf Seite 25: Da wird ein Benutzer psbuch angelegt (siehe unten (1)), dann eine Datenbank postgresqlbuch (siehe unten (2)), und schließlich soll man mit der Datenbank postgresqlbuch Verbindung aufnehmen (3). Und diese Verbindung klappt nicht; ich bekomme die Fehlermeldung "Ident-Authentifizierung für Benutzer >>psbuch<< fehlgeschlagen \ Vorherige Verbindung wurde behalten."

    Meine Frage ist: Wie stelle ich eine Verbindung zur DB postgresqls als Benutzer psbuch her?

    Das habe ich eingegeben:

    (1) Benutzer erstellen:
    postgres=# CREATE USER psbuch WITH NOSUPERUSER ENCRYPTED \
    PASSWORD 'hallo123';
    CREATE ROLE

    (2) Datenbank erstellen:
    postgres=# CREATE DATABASE postgresqlbuch OWNER=psbuch \
    TEMPLATE=template1;
    CREATE DATABASE

    (3) Verbindung aufnehmen:
    postgres=#\c postgresqlbuch psbuch
    FATAL: Ident-Authentifizierung für Benutzer >>psbuch<< fehlgeschlagen
    Vorherige Verbindung wurde behalten.

    Ich verwende PostgreSQL 8.4.5 unter Ubuntu 10.04.
    Bei der Installation über die Paketverwaltung gab es keine Probleme.

    (4) \du zeigt Folgendes:
    postgres=#\du
    psbuch | | {}

    Nach einigem Suchen im Netz kam ich auf den Trichter, dass die Datei pg_hba.conf etwas mit Benutzern zu tun hat. Die sieht bei mir am Ende so aus:

    --- schnipp
    # Database administrative login by UNIX sockets
    local all postgres ident

    # TYPE DATABASE USER CIDR-ADDRESS METHOD

    # "local" is for Unix domain socket connections only
    local all all ident
    # IPv4 local connections:
    host all all 127.0.0.1/32 md5
    # IPv6 local connections:
    host all all ::1/128 md5
    -# Database administrative login by UNIX sockets
    local all postgres ident

    # TYPE DATABASE USER CIDR-ADDRESS METHOD

    # "local" is for Unix domain socket connections only
    local all all ident
    # IPv4 local connections:
    host all all 127.0.0.1/32 md5
    # IPv6 local connections:
    host all all ::1/128 md5
    --- schnapp

    Ob da der Benutzer psbuch auftauchen muss, weiß ich nicht. Wenn er auftauchen muss, weiß ich nicht, warum die oben (aus dem Buch abgeschriebenen und hier) wiedergegebenen Befehle nicht dafür sorgen.

    (Übrigens kann man auch keine Verbindung als Benutzer X herstellen, wenn X über pgAdmin III angelegt wurde, wie es auf Seite 40 - 43 mit dem Grant-Assistenten beschrieben wird. Aber das will ich jetzt hier nicht diskutieren.)

    Für Hilfe bedankt sich jetzt schon

    Sandbank
    Geändert von sandbank (31.10.2010 um 22:03 Uhr)

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.055

    Standard

    Ich kenne so ein Buch nicht. Welche ISBN hat das Buch denn?

    Und ja, du hast Recht. Du müsstest die pg_hba.conf anpassen.

    Wenn du diese Datenbank nur lokal verwendest, dürften am Anfang zwei Zeilen wie:

    Code:
    local all all trust
    host all all 127.0.0.1/32 trust
    ausreichen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Ich kenne so ein Buch nicht. Welche ISBN hat das Buch denn?
    Stümperhafte Konkurrenz, gell?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    sandbank ist offline Neuer Benutzer
    Registriert seit
    31.10.2010
    Beiträge
    5

    Standard pg_hba.conf angepasst; Fehler bleibt

    Zuallererst: Herzlichen Dank für die prompte Antwort!!!

    Als nächstes die vollständigen Angaben zum Buch:
    Thomas Pfeiffer, Andreas Wenk: PostgreSQL. Installation, Grundlagen, Praxis. Galileo Press, Bonn 2010.
    ISBN: 978-3-8362-1346-2
    39,90 Euro

    Dann zum Stand meiner Dinge:
    Die Datei pg_hba.conf hat nun (fast) am Ende die beiden Zeilen:
    local all all trust
    host all all 127.0.0.1/32 trust
    Der Fehler ist aber unverändert: "Ident-Authentifizierung für Benutzer >>psbuch<< fehlgeschlagen ..."

    Soll ich PostgreSQL neu installieren?
    Dagegen spricht: Bei der Installation gab es keine Fehlermeldungen.
    Dafür spricht: Sehr aufwendig ist es unter Ubuntu nicht, und ich habe ja noch nicht viel Zeit in die Einarbeitung verwendet (mehr in die Fehlersuche ;-)

    Gruß von
    Sandbank
    Geändert von sandbank (01.11.2010 um 09:16 Uhr)

  5. #5
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von sandbank Beitrag anzeigen
    Zuallererst: Herzlichen Dank für die prompte Antwort!!!

    Als nächstes die vollständigen Angaben zum Buch:
    Thomas Pfeiffer, Andreas Wenk: PostgreSQL. Installation, Grundlagen, Praxis. Galileo Press, Bonn 2010.
    ISBN: 978-3-8362-1346-2
    39,90 Euro

    Dann zum Stand meiner Dinge:
    Die Datei pg_hba.conf hat nun (fast) am Ende die beiden Zeilen:
    local all all trust
    host all all 127.0.0.1/32 trust
    Der Fehler ist aber unverändert: "Ident-Authentifizierung für Benutzer >>psbuch<< fehlgeschlagen ..."

    Soll ich PostgreSQL neu installieren?
    Dagegen spricht: Bei der Installation gab es keine Fehlermeldungen.
    Dafür spricht: Sehr aufwendig ist es unter Ubuntu nicht, und ich habe ja noch nicht viel Zeit in die Einarbeitung verwendet (mehr in die Fehlersuche ;-)

    Gruß von
    Sandbank
    Nein. Wenn Deine TRUST-Einträge (fast) am Ende der pg_hba.conf stehen, vermute ich mal, vorher stehen die IDENT-Einträge. Und PostgreSQL liest so wie Du und ich: von oben nach unten. Alles klar?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    sandbank ist offline Neuer Benutzer
    Registriert seit
    31.10.2010
    Beiträge
    5

    Standard Alles gut macht der Reboot...

    Die Antwort habe ich leider nicht verstanden.
    "Nein." interpretiere ich als Antwort auf die Frage, ob ich PostgreSQL neu installieren soll.

    Welche Bedeutung die Reihenfolge der Einträge haben soll, ist mir auch nicht klar.
    Spaßeshalber habe ich mal die Zeile "local all postgres ident" auskommentiert.
    Der Fehler war immer noch da.

    ("(fast) am Ende" habe ich geschrieben, weil es GANZ am Ende ja noch die Zeile zu IPv6 gibt.)

    Hier ist jetzt der aktuelle Stand der Datei pg_hba.conf (alle Zeilen darüber sind ja Kommentarzeilen):

    --- schnipp
    # Database administrative login by UNIX sockets
    local all postgres ident

    # TYPE DATABASE USER CIDR-ADDRESS METHOD

    # "local" is for Unix domain socket connections only
    local all all trust
    # IPv4 local connections:
    host all all 127.0.0.1/32 trust
    # IPv6 local connections:
    host all all ::1/128 md5
    --- schnapp

    ... und durch Zufall habe ich Folgendes entdeckt: Nach einem Neustart des Rechners kann ich mich als psbuch verbinden.
    Offensichtlich reicht es nicht, psql zu beenden und wieder aufzurufen. Ein Rechnerstart reicht, ist aber hoffentlich nicht notwendig.
    Vielleicht reicht es auch, wenn der Benutzer postgres sich ausloggt und wieder einloggt. Ist das so?
    Gibt es eine andere Möglichkeit, die Änderungen in pg_hba.conf dem System bekannt zu machen?

    Hoffentlich ist mir jetzt keiner böse: Ich habe ja gesagt, dass ich ein Anfänger bin, und das Buch weist auch nicht darauf hin. Im Gegenteil: Siehe meinen ersten Beitrag zu diesem Thema - Benutzer anlegen, Datenbank anlegen und Verbindung aufnehmen folgen unmittelbar aufeinander. Da war ich schon stolz auf mich, dass ich psql beendet habe...

    Dank und Gruß von
    Sandbank
    Geändert von sandbank (01.11.2010 um 10:10 Uhr)

  7. #7
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    524

    Standard

    Zitat Zitat von sandbank Beitrag anzeigen
    Offensichtlich reicht es nicht, psql zu beenden und wieder aufzurufen. Ein Rechnerstart reicht, ist aber hoffentlich nicht notwendig.
    Rechnerstart ist vollkommen unnötig. Der Grund warum es danach ging ist, dass Postgres neu gestartet wurde, und damit die pg_hba.conf neu eingelesen wurde.
    Dafür ist aber kein Neustart vom System oder von Postgres notwendig. Mit pg_ctl reload kannst Du die Konfigurationsdateien neu einlesen ohne Postgres oder den Rechner neu starten zu müssen. Genaueres dazu steht im Handbuch.

    Du schreibst nicht mit welchem Betriebssystem Du arbeitest. Beim Windows Installer wird ein Menüpunkt "Reload Configuration" erstellt, der genau den oben erwähnten Befehl ausführt.
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  8. #8
    sandbank ist offline Neuer Benutzer
    Registriert seit
    31.10.2010
    Beiträge
    5

    Standard Problem gelöst - danke!

    Vielen Dank für den Hinweis auf pg_ctl!
    Als Anfänger hat es mich Zeit gekostet, die nötigen Parameter zu finden. Bei mir funktioniert es mit

    postgres...$ /usr/lib/postgresql/8.4/bin/pg_ctl reload -D /var/lib/postgresql/8.4/main

    An alle noch mal vielen Dank! Ich werde jetzt an die Autoren meines "Praxisbuches" schreiben, wie sie die Sache sehen ;-)

    Gruß von
    Sandbank

    P.S.: Mein Betriebssystem habe ich in meinem ersten Beitrag (meiner ersten Frage) genannt: Ubuntu 10.04

  9. #9
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.055

    Standard

    Jups, schreib den beiden Mal. Die sind für Kommentare offen.

    Im übrigen: wenn du die pg_hba.conf schon offen hast: da stehen mehrere Seiten Dokumentation und Beispiele am Anfang.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  10. #10
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    524

    Standard

    Zitat Zitat von sandbank Beitrag anzeigen
    Mein Betriebssystem habe ich in meinem ersten Beitrag (meiner ersten Frage) genannt: Ubuntu 10.04
    Oops. Sorry, ist irgendwie an mir vorbeigegangen - und ich hab' wirklich vorher geschaut!
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Problem "breche Verbindung ab wegen Absturz eines anderen Serverprozesses"
    Von vogelpohl im Forum Allgemeines
    Antworten: 43
    Letzter Beitrag: 12.06.2010, 15:36
  2. Antworten: 11
    Letzter Beitrag: 09.07.2009, 10:07
  3. Problem Function geht nicht "invalid input syntax for integer: (0,t,)"
    Von cfi im Forum Trigger und Funktionen
    Antworten: 2
    Letzter Beitrag: 05.09.2008, 08:10
  4. von Ident zur md5 Authentifizierung wechseln
    Von hitch im Forum Konfiguration
    Antworten: 13
    Letzter Beitrag: 25.10.2007, 12:01
  5. Composite Types nicht in "7.4.6" möglich?
    Von FrankTheFox im Forum Allgemeines
    Antworten: 3
    Letzter Beitrag: 24.06.2006, 21:58

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum