Ich habe das folgende Szenario:
saji@geeklap:~$ psql -U postgres
psql: FATAL: Ident authentication failed for user "postgres"
saji@geeklap:~$ psql -h localhost -U postgres
Password for user postgres:
psql (8.4.14)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
postgres=#
Ich versuche, postgresqlmich als Benutzer bei dem auf meinem System installierten Server anzumelden postgres. Ich kann mich nur anmelden, wenn ich dies spezifiziere -h localhost. In der psqlDokumentation heißt es:
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.
Ref: http://www.postgresql.org/docs/current/static/app-psql.html#R2-APP-PSQL-CON
Warum kann ich mich nicht anmelden, ohne den Host anzugeben psql? Gibt es eine Konfigurationsdatei, die geändert werden muss, damit die in der Dokumentation beschriebenen Vorgänge ausgeführt werden können?
.psqlrc, die die Standardeinstellungen angibt - oder bearbeiten Siepg_hba.confsie einfach, um diemd5Authentifizierung fürlocal(Unix-Socket-) Verbindungen zu verwenden. Siehe die Dokumentation fürpg_hba.confundpsql.