psql: FATAL: Ident-Authentifizierung für Benutzer "postgres" fehlgeschlagen

372

Ich habe PostgreSQL und pgAdminIII auf meiner Ubuntu Karmic-Box installiert.

Ich kann pgAdminIII erfolgreich verwenden (dh verbinden / anmelden). Wenn ich jedoch versuche, mich mit demselben Benutzernamen / pwd in der Befehlszeile (mit psql) beim Server anzumelden, wird folgende Fehlermeldung angezeigt:

psql: FATAL:  Ident authentication failed for user "postgres"

Weiß jemand jetzt, wie man dieses Problem löst?

morpheous
quelle
Dieser Stackoverflow-Beitrag hat für mich funktioniert
Andrea Araldo

Antworten:

194

Haben Sie die richtigen Einstellungen in pg_hba.conf vorgenommen?

Siehe https://help.ubuntu.com/stable/serverguide/postgresql.html , wie es geht.

Frank Heikens
quelle
36
Das funktioniert bei mir nicht. Ich habe Stunden damit verbracht! Ich möchte nur psql-Befehle in meinem Terminal ausführen. Wie muss die Datei aussehen, um dies zu tun?
Sean
54
@ SeanA Sie brauchen so etwas wie 'sudo -u postgres psql'
JLarky
8
Vergiss nicht ';' am Ende jeder Aussage auf psql. Klingt albern, aber es passiert hehe.
Omrsin
42
@ Robert: "postgresql ist die benutzerunfreundlichste db"? Versuchen Sie Oracle eines Tages, um eine Perspektive zu bekommen ... :)
Mivk
5
Für diejenigen, die Rails verwenden, musste ich die Datei pg_hba.conf festlegen und 'ident' in 'password' ändern. Das Ändern in Vertrauen hat nicht funktioniert.
Abe Petrillo
412

Die folgenden Schritte funktionieren für eine Neuinstallation von Postgres 9.1 unter Ubuntu 12.04. (Arbeitete auch für Postgres 9.3.9 unter Ubuntu 14.04.)

Standardmäßig erstellt postgres einen Benutzer mit dem Namen "postgres". Wir melden uns als sie an und geben ihr ein Passwort.

$ sudo -u postgres psql
\password
Enter password: ...
...

Abmelden psqldurch Eingabe von \qoder ctrl+d. Dann verbinden wir uns als "Postgres". Der -h localhostTeil ist wichtig : Er teilt dem psqlClient mit, dass eine Verbindung über eine TCP-Verbindung (die für die Verwendung der Kennwortauthentifizierung konfiguriert ist) und nicht über eine PEER-Verbindung (die sich nicht um das Kennwort kümmert) hergestellt werden soll.

$ psql -U postgres -h localhost
Manav
quelle
13
Wenn Sie festlegen, müssen PGHOST=localhostSie die -hOption nicht jedes Mal angeben . Dies funktioniert auch mit anderen pg_*Befehlen wie pg_dump.
Sameer
1
Es ist hier dokumentiert: help.ubuntu.com/12.04/serverguide/postgresql.html
Hendra Uzia
2
Dies wurde benötigt, um eine Mediawiki-Installation unter Debian mit PostgreSQL zu ermöglichen.
Mivk
2 Jahre später, und ich muss dies auch auf einem Mac tun .
Manav
1
schlecht, weil es ein Sicherheitsproblem gibt, siehe hier: serverfault.com/questions/110154/…
Erdinc Ay
161

Bearbeiten Sie die Datei /etc/postgresql/8.4/main/pg_hba.confund ersetzen Sie sie identoder peerentweder md5oder trust, je nachdem, ob Sie auf Ihrem eigenen Computer nach einem Kennwort fragen möchten oder nicht. Laden Sie dann die Konfigurationsdatei neu mit:

/etc/init.d/postgresql reload
Danny Milosavljevic
quelle
4
ein Befehl neu starten postgresql: /etc/init.d/postgresql neu starten
Tyler Long
14
Warum ein Neustart, wenn Sie nur neu laden müssen?
Frank Heikens
In diesem Fall: "/etc/init.d/postgresql-8.4 reload"
Shaytac
1
Dieser hier hat für mich gearbeitet. Der Wechsel von Peer zu MD5 war genug.
Jonatas CD
1
OK, ich bin ein Postgresql-Noob, aber ich muss berichten, dass das nur restartfür mich funktioniert hat, nicht reload--- nach Änderungen an /etc/postgresql/9.5/main/pg_hba.conf(Wechsel peerzu trust).
Mike O'Connor
91

Dieser Fehler wird angezeigt, weil die Clientauthentifizierung fehlschlägt. Basierend auf der Fehlermeldung haben Sie wahrscheinlich die Standardkonfiguration von postgres, mit der die Clientauthentifizierungsmethode für alle PostgreSQL-Verbindungen auf "IDENT" gesetzt wird.

Sie sollten auf jeden Fall Abschnitt 19.1 Clientauthentifizierung im PostgreSQL-Handbuch lesen , um die verfügbaren Authentifizierungseinstellungen (für jeden Datensatz in pg_hba.conf ) besser zu verstehen. Hier finden Sie jedoch den entsprechenden Ausschnitt, der bei dem aufgetretenen Problem hilft (aus dem Handbuch der Version 9.5) ):

Vertrauen

Erlaube die Verbindung bedingungslos. Mit dieser Methode kann sich jeder, der eine Verbindung zum PostgreSQL-Datenbankserver herstellen kann, als beliebiger PostgreSQL-Benutzer anmelden, ohne dass ein Kennwort oder eine andere Authentifizierung erforderlich ist. Siehe Abschnitt 19.3.1 für Details.

ablehnen

Lehnen Sie die Verbindung bedingungslos ab. Dies ist nützlich, um bestimmte Hosts aus einer Gruppe herauszufiltern. Beispielsweise kann eine Ablehnungsleitung die Verbindung eines bestimmten Hosts blockieren, während eine spätere Leitung den verbleibenden Hosts in einem bestimmten Netzwerk die Verbindung ermöglicht.

md5

Fordern Sie den Client auf, ein Kennwort mit doppeltem MD5-Hash für die Authentifizierung anzugeben. Siehe Abschnitt 19.3.2 für Details.

Passwort

Fordern Sie den Client auf, ein unverschlüsseltes Kennwort zur Authentifizierung anzugeben. Da das Passwort im Klartext über das Netzwerk gesendet wird, sollte es nicht in nicht vertrauenswürdigen Netzwerken verwendet werden. Siehe Abschnitt 19.3.2 für Details.

gss

Verwenden Sie GSSAPI, um den Benutzer zu authentifizieren. Dies ist nur für TCP / IP-Verbindungen verfügbar. Siehe Abschnitt 19.3.3 für Details.

sspi

Verwenden Sie SSPI, um den Benutzer zu authentifizieren. Dies ist nur unter Windows verfügbar. Siehe Abschnitt 19.3.4 für Details.

ident

Ermitteln Sie den Betriebssystembenutzernamen des Clients, indem Sie sich an den Ident-Server auf dem Client wenden und prüfen, ob er mit dem angeforderten Datenbankbenutzernamen übereinstimmt. Die Ident-Authentifizierung kann nur für TCP / IP-Verbindungen verwendet werden. Wenn für lokale Verbindungen angegeben, wird stattdessen die Peer-Authentifizierung verwendet. Siehe Abschnitt 19.3.5 für Details.

Peer

Beziehen Sie den Benutzernamen des Client-Betriebssystems vom Betriebssystem und prüfen Sie, ob er mit dem angeforderten Datenbank-Benutzernamen übereinstimmt. Dies ist nur für lokale Verbindungen verfügbar. Siehe Abschnitt 19.3.6 für Details.

ldap

Authentifizieren Sie sich mit einem LDAP-Server. Siehe Abschnitt 19.3.7 für Details.

Radius

Authentifizieren Sie sich mit einem RADIUS-Server. Siehe Abschnitt 19.3.8 für Details.

cert

Authentifizieren Sie sich mit SSL-Client-Zertifikaten. Siehe Abschnitt 19.3.9 für Details.

pam

Authentifizieren Sie sich mit dem vom Betriebssystem bereitgestellten PAM-Dienst (Pluggable Authentication Modules). Siehe Abschnitt 19.3.10 für Details.

Um das aufgetretene Problem zu lösen, können Sie eine der folgenden Aktionen ausführen:

  1. Ändern Sie die Authentifizierungsmethode (n) definiert in der pg_hba.conf Datei zu trust, md5oder password(je nach Sicherheit und Einfachheit Bedürfnisse) für die lokale Verbindung Datensätze , die Sie dort definiert haben.

  2. Aktualisieren Sie pg_ident.conf, um Ihre Betriebssystembenutzer PostgreSQL-Benutzern zuzuordnen, und gewähren Sie ihnen je nach Bedarf die entsprechenden Zugriffsrechte.

  3. Lassen Sie die IDENT-Einstellungen in Ruhe und erstellen Sie Benutzer in Ihrer Datenbank für jeden Betriebssystembenutzer, auf den Sie Zugriff gewähren möchten. Wenn ein Benutzer bereits vom Betriebssystem authentifiziert und angemeldet ist, erfordert PostgreSQL keine weitere Authentifizierung und gewährt diesem Benutzer Zugriff basierend auf den ihm in der Datenbank zugewiesenen Berechtigungen (Rollen). Dies ist die Standardkonfiguration.

Hinweis: Der Speicherort von pg_hba.confund pg_ident.confist vom Betriebssystem abhängig.

Leo Bedrosian
quelle
4
Für mich ist das die beste Antwort. Wenn Sie alle diese Optionen kennen, können Sie die Konfiguration leicht anpassen. Und besonders wenn Sie sich auf einem Dev-Computer befinden, können Sie einfach 'ident' für alle Einträge festlegen, um Zeitverschwendung zu vermeiden. Vielen Dank
venkatareddy
1
Das war auch für mich hilfreich. In meinem Fall wurde die Datei pg_hba.conf auf Peer gesetzt und in Kennwort geändert. Beachten Sie, dass ich bei einer Vanilla-Installation auch ein Passwort für den Benutzer postgres festlegen musste, sudo su - postgres psql, \ password ein Passwort festlegen. Starten Sie dann eine Standardverbindung von pdgadmin3 mit dem Benutzernamen postgres und Ihrem von Ihnen festgelegten Passwort.
Edencorbin
1
Und wo ist diese Datei gefunden? Zugegeben, Sie müssen möglicherweise eine Liste erstellen, da es anscheinend keine Konsistenz zwischen den Versionen gibt. Ich schätze, ich werde einfach auf '/' suchen.
JosephK
1
Unter Ubuntu-16.04 ist es /etc/postgresql/9.6/main/pg_hba.conf.
Mike O'Connor
1
Als jemand, der neu in psql ist, ist dies eine große Hilfe und sollte die akzeptierte Antwort sein, da es sich um verschiedene Authentifizierungsmethoden handelt
Vyrnach
45

Das -h localhostBit einfach hinzuzufügen war alles, was ich brauchte, um zu arbeiten

boulder_ruby
quelle
Wissen wir, warum dies das Problem behebt?
Michael Pell
Die Standardeinstellungen von postgresql sind nicht angemessen festgelegt. Vielleicht haben sie es inzwischen behoben, ich weiß es nicht. Offensichtlich sollte die Standard-URL seinthis_computer = 'http://localhost'
boulder_ruby
15

Sie können die Umgebungsvariable festlegen PGHOST=localhost:

$ psql -U db_user db_name
psql: FATAL:  Peer authentication failed for user "db_user"

$ export PGHOST=localhost
$ psql -U db_user db_name

Password for user mfonline:
Ivan Trechyokas
quelle
15

Für den Fall, dass keines der oben genannten Verfahren für Sie funktioniert:

Ich habe einige Postgres-Installationen durchgeführt, wurde aber heute auf einem RedHat 6.5-System (Installation von Postgres 9.3) durcheinander gebracht. Meine typische hba.conf-Konfiguration, die Aron oben zeigt, hat nicht funktioniert. Es stellte sich heraus, dass mein System IPV6 verwendete und die IPV4-Konfiguration ignorierte. Hinzufügen der Zeile:

host    all             all             ::1/128                 password

erlaubte mir, mich erfolgreich anzumelden.

Ethan Brown
quelle
Danke Ethan. Ich verwende Fedora 20 und habe das gleiche Problem wie beim OP. Nach dem Ändern von IPV4 und IPV6 in Passwort. Die Verbindung war erfolgreich.
Ibn Saeed
1
Gern geschehen. So oft habe ich von anderen Posts profitiert, wenn ich auf ein Programmier- oder Systemproblem gestoßen bin. Ich bin froh, dass ich etwas zurückgeben konnte.
Ethan Brown
1
Das hat mir auf Fedora 32 das Leben gerettet!
Rami
12

Von all den obigen Antworten hat nichts für mich funktioniert. Ich musste das Benutzerkennwort in der Datenbank manuell ändern und es funktionierte plötzlich.

psql -U postgres -d postgres -c "alter user produser with password 'produser';"

Ich habe die folgenden Einstellungen verwendet:

pg_hba.conf

local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            password  
# IPv6 local connections:
host    all             all             ::1/128                 password

Die Verbindung ist für den folgenden Befehl endlich erfolgreich:

psql -U produser -d dbname -h localhost -W 
Joseph Persie
quelle
Das hat mir hier geholfen, Joseph. Insbesondere der Verbindungsbefehl am Ende hilft mir beim Testen. Außerdem würde ich einen Neustart des Postgresql-Dienstes hinzufügen, falls sich jemand wundert (aber ich verstehe, dass dies impliziert ist). Schätzen Sie es sehr!
Harlin
10

Ich stellte fest, dass ich einen Identitätsserver installieren musste, der Port 113 überwacht.

sudo apt-get install pidentd
sudo service postgresql restart

Und dann hat ident funktioniert.

Dustin Kirkland
quelle
10

Hmmm ...

Wenn Sie in pgAdminIII eine Verbindung mit dem Benutzernamen und dem Kennwort herstellen können, aber keine Verbindung herstellen können, stellen psqldiese beiden Programme wahrscheinlich eine unterschiedliche Verbindung zur Datenbank her.

[Wenn Sie eine Verbindung zu verschiedenen Datenbanken herstellen, versuchen Sie zunächst, eine Verbindung zu derselben Datenbank herzustellen. Siehe unten.]

Von PostgreSQL: Dokumentation: 9.3: psql :

Wenn Sie den Hostnamen weglassen, stellt psql über einen Unix-Domain-Socket eine Verbindung zu einem Server auf dem lokalen Host oder über TCP / IP zu localhost auf Computern her, die keine Unix-Domain-Sockets haben.

Wenn Sie so etwas nicht ausführen psql ... -h host_name ...und Ubuntu ausführen, psqlsollte die Verbindung über einen Unix-Domain-Socket hergestellt werden, sodass PostgreSQL wahrscheinlich nicht so konfiguriert ist, dass eine der Kennwortauthentifizierungsmethoden für den Postgres- Benutzer zulässig ist.

Sie können dies testen, indem Sie Folgendes ausführen:

sudo -u postgres psql

Wenn dies funktioniert, ist Ihr Server wahrscheinlich so konfiguriert, dass der Postgres- Benutzer die Peer- Authentifizierung für lokale Verbindungen verwendet , dh das Betriebssystem fragt nach Ihrem Benutzernamen, um zu bestätigen, dass Sie Postgres sind .

Es ist also wahrscheinlich Ihre pg_hba.conf- Datei

Der vollständige Pfad der Datei wird etwas sein , wie /etc/postgresql/9.3/main/pg_hba.conf . Sie können es anzeigen, z sudo cat /etc/postgresql/9.3/main/pg_hba.conf | more.

Wenn Sie den Hostnamen in Ihrem psqlBefehl weglassen , sollten Sie eine Verbindung herstellen können, wenn Sie Ihrer Datei pg_hba.conf den folgenden Eintrag hinzufügen :

# Connection type   Database   User       IP addresses   Method
local               all        postgres                  md5

[Kommentierte Zeilen in der Datei pg_hba.conf beginnen mit #.]

Wenn Sie sind die Host - Namen in Ihrem einschließlich psqlBefehl, fügen Sie diesen Eintrag statt:

# Connection type   Database   User       IP addresses   Method
host                all        postgres   127.0.0.1/32   md5

Sie müssen den Eintrag eingeben, bevor andere Einträge für Ihre Verbindung über übereinstimmen psql. Wenn Sie sich nicht sicher sind, wo Sie es platzieren sollen, setzen Sie es einfach vor die erste nicht kommentierte Zeile.

Mehr über pg_hba.conf

Aus PostgreSQL: Dokumentation: 9.3: Die Datei pg_hba.conf [meine fettgedruckte Hervorhebung]:

Der erste Datensatz mit einem übereinstimmenden Verbindungstyp , einer Clientadresse , einer angeforderten Datenbank und einem Benutzernamen wird zur Authentifizierung verwendet. Es gibt kein "Durchfallen" oder "Sichern": Wenn ein Datensatz ausgewählt wird und die Authentifizierung fehlschlägt, werden nachfolgende Datensätze nicht berücksichtigt. Wenn kein Datensatz übereinstimmt, wird der Zugriff verweigert.

Beachten Sie, dass Datensätze bei der Authentifizierungsmethode nicht übereinstimmen. Wenn Ihre Datei pg_hba.conf den folgenden Eintrag enthält:

# Connection type   Database   User       IP addresses   Method
local               all        postgres                  peer

Dann können Sie keine Verbindung herstellen über:

psql -u postgres

Es sei denn, einer dieser Einträge befindet sich in Ihrer Datei pg_hba.conf über dem vorherigen Eintrag:

# Connection type   Database   User       IP addresses   Method
local               all        postgres                  md5
local               all        postgres                  password   # Unencrypted!
local               all        all                       md5
local               all        all                       password   # Unencrypted!
Kenny Evitt
quelle
2
spät zum Spiel, aber im Ernst, danke, dass Sie sich die Mühe gemacht haben, die Dinge richtig zu erklären, damit ich sie verstehe!
Jeffrey 'jf' Lim
10

In meinem Fall Lösung hier: (für Betroffene) Loggen Sie sich bei postgres ein:

sudo -i -u postgres
psql
ALTER USER postgres WITH PASSWORD 'postgres'; # type your password here

Grüße

VanThaoNguyen
quelle
7

Das Problem ist immer noch Ihre Datei pg_hba.conf. Diese Zeile: Sie finden diese Datei in / etc / postgres / varion / main

local   all             postgres                                peer
Should be

local   all             postgres                                md5

Dies sind kurze Beschreibungen beider Optionen gemäß den offiziellen PostgreSQL-Dokumenten zu Authentifizierungsmethoden.

Peer-Authentifizierung

Bei der Peer-Authentifizierungsmethode wird der Benutzername des Betriebssystems des Clients vom Kernel abgerufen und als zulässiger Datenbankbenutzername verwendet (mit optionaler Benutzernamenzuordnung). Diese Methode wird nur bei lokalen Verbindungen unterstützt.

Passwortauthentifizierung

Die kennwortbasierten Authentifizierungsmethoden sind md5 und Kennwort. Diese Methoden funktionieren ähnlich, mit Ausnahme der Art und Weise, wie das Kennwort über die Verbindung gesendet wird, nämlich MD5-Hash bzw. Klartext.

Wenn Sie sich überhaupt Gedanken über "Sniffing" -Angriffe mit Passwörtern machen, wird md5 bevorzugt. Ein einfaches Passwort sollte nach Möglichkeit immer vermieden werden. Md5 kann jedoch nicht mit der Funktion db_user_namespace verwendet werden. Wenn die Verbindung durch SSL-Verschlüsselung geschützt ist, kann das Kennwort sicher verwendet werden (obwohl die SSL-Zertifikatauthentifizierung möglicherweise die bessere Wahl ist, wenn SSL verwendet wird).

Vergessen Sie nach dem Ändern dieser Datei nicht, Ihren PostgreSQL-Server neu zu starten. Wenn Sie unter Linux sind, wäre dassudo service postgresql restart.

Suneel Kumar
quelle
7

Für fedora26 und postgres9.6

Melden Sie sich zuerst als Benutzer root an und geben Sie dann mit den folgenden Befehlen in psql ein

$ su postgres  

dann

$ psql

in psqlfind location of hba_file ==> bedeutetpg_hba.conf

postgres=# show hba_file ; 
 hba_file  
--------------------------------------   
 /etc/postgresql/9.6/main/pg_hba.conf  
(1 row)  

in Datei pg_hba.confändern Benutzerzugriff darauf

host all all 127.0.0.1/32 md5
mohsen.nour
quelle
6

Meine Lösung für PostgreSQL 9.3 unter Mac OSX in der Bash-Shell bestand darin sudo, in den Datenordner zu wechseln und dann die erforderlichen Zeilen an die pg_hba.confDatei anzuhängen , damit alle Benutzer vertrauenswürdig sind und sich anmelden können. Dies habe ich getan ::

# in bash_profile edit PGDATA environmental variable
open ~/.bash_profile

# append this line to bash_profile
export PGDATA="/Library/PostgreSQL/9.3/data"

# reload bash_profile
source ~/.bash_profile

# open pg_hba.conf in vim
sudo vi /Library/PostgreSQL/9.3/data/pg_hba.conf

# append these two lines to the end of the pg_hba.conf file
local   all   all                  trust
host    all   all   127.0.0.1/32   trust

# can now login as user in bash
psql -d <db_name> -U <user_name> -W
Aaron Lelevier
quelle
1
Dies ist für den Entwicklungsserver in Ordnung, aber ich würde dies für eine Produktionsumgebung nicht empfehlen, da Sie mit diesen Einstellungen kein Kennwort mehr benötigen, um eine Verbindung zur Datenbank herzustellen.
Michael
4

Ich habe mehr Zeit damit verbracht, diesen Fehler zu lösen, als ich zugeben möchte.

Die Reihenfolge der Authentifizierungskonfiguration in pg_hba.conf ist in Ihrem Fall meiner Meinung nach relevant. Die Standardkonfigurationsdatei enthält mehrere Zeilen in einer Vanilla-Installation. Diese Standardeinstellungen können mit den Bedingungen Ihrer Authentifizierungsversuche übereinstimmen, die zu einer fehlgeschlagenen Authentifizierung führen. Es schlägt unabhängig von der zusätzlichen Konfiguration fehl, die am Ende der .conf-Datei hinzugefügt wurde.

Um zu überprüfen, welche Konfigurationszeile verwendet wird, überprüfen Sie die Standardprotokolldatei auf Nachrichten. Sie könnten so etwas sehen

LOG:  could not connect to Ident server at address "127.0.0.1", port 113: Connection refused
FATAL:  Ident authentication failed for user "acme" 
DETAIL:  Connection matched pg_hba.conf line 82: "host     all             all             127.0.0.1/32            ident"

Es stellt sich heraus, dass diese Standardzeile die Ablehnung verursacht.

host    all             all             127.0.0.1/32            ident

versuche es auskommentieren.

Jeremy Whiting
quelle
3

Ein Hack um dieses herum ist das Bearbeiten von pg_hba.conf

sudo vi /etc/postgresql/9.3/main/pg_hba.conf

Vorübergehend

# Database administrative login by Unix domain socket
local   all             postgres                                   trust

An diesem Punkt sind Sie fertig. Zur Sicherheit gehen Sie dann und

sudo -u postgres psql template1
ALTER USER postgres with encrypted password 'your_password';

Gehen Sie dann zurück und setzen Sie pg_hba.conf zurück auf

# Database administrative login by Unix domain socket
local   all             postgres                                   md5
ntg
quelle
1

Ich hatte ein ähnliches Problem und habe es in pg_hba.conf behoben, als ich alle Ident- Methoden auch für die IP6-Adresse entfernt habe (obwohl ich nur IP4 auf dem Computer habe).

host all all 127.0.0.1/32 password
host all all ::1/128 password
#for pgAdmin running at local network
host all all 192.168.0.0/24 md5
TMa
quelle
0

Ich hatte das gleiche Problem, nachdem ich Folgendes befolgt hatte: PostgreSQL-Setup für die Rails-Entwicklung in Ubuntu 12.04

Ich habe die anderen Antworten ausprobiert, aber alles, was ich tun musste, war: "config / database.yml"

development:
  adapter: postgresql
  encoding: unicode
  database: (appname)_development
  pool: 5
  username: (username you granted appname database priviledges to)
  password:
Daniel
quelle
0

Wenn Sie es unter CentOS verwenden, müssen Sie möglicherweise Postgres neu laden, nachdem Sie die oben genannten Lösungen erstellt haben:

systemctl restart postgresql-9.3.service
Jaswinder
quelle
Es ist jetzt nurpostgresql
Neil Chowdhury
@NeilChowdhury postgresql-Dienst hat zumindest in Linux-Systemen immer noch eine Version im Dienstnamen. Führen Sie diesen Befehl aus, um zu sehensystemctl status | grep postgres
Ikrom
0

Ich musste pdAdmin neu installieren, um dieses Problem zu beheben

brew cask reinstall pgadmin4
Sofia Khwaja
quelle
0

Wenn Sie unter Windows pb_gba.conf nicht bearbeiten möchten, dh die Methode MD5 überlassen (Standard), erstellen Sie einen neuen Benutzer, indem Sie diese Abfrage im Abfragetool in PGadmin ausführen PGadmin

CREATE USER admin WITH PASSWORD 'secret'

dann in cmd

psql "dbname=Main_db host=127.0.0.1 user=admin password=secret port=5432

Dabei ist Datenbankname Ihre Datenbank in postgresql

Geben Sie hier die Bildbeschreibung ein

Ajay Tom George
quelle
-3

Das hat bei mir funktioniert: http://tecadmin.net/fatal-ident-authentication-failed-for-user-postgres/#

local   all             postgres                                trust
local   all             myapp_usr                               trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
#host    all             all             ::1/128                 trust
Ing. M.D'Ambrosio
quelle
1
Dadurch kann sich jeder von localhost als beliebiger Benutzer anmelden. Dieses Verhalten wird an keiner Stelle im Link erwähnt. Und ja, die Debian-Infoseiten enthalten dasselbe.
Rkapl