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, postgresql
mich als Benutzer bei dem auf meinem System installierten Server anzumelden postgres
. Ich kann mich nur anmelden, wenn ich dies spezifiziere -h localhost
. In der psql
Dokumentation 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.conf
sie einfach, um diemd5
Authentifizierung fürlocal
(Unix-Socket-) Verbindungen zu verwenden. Siehe die Dokumentation fürpg_hba.conf
undpsql
.