Jak ustawić psql jako domyślny na localhost?


10

Mam następujący scenariusz:

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=# 

Próbuję zalogować się na postgresqlserwerze zainstalowanym w moim systemie jako użytkownik postgres. Jestem w stanie zalogować się tylko, jeśli podam -h localhost. Natomiast psqldokumentacja mówi, że:

Jeśli pominiesz nazwę hosta, psql połączy się przez gniazdo domeny Unix z serwerem na hoście lokalnym lub przez TCP / IP z hostem lokalnym na komputerach, które nie mają gniazd domeny Unix.

Patrz: http://www.postgresql.org/docs/current/static/app-psql.html#R2-APP-PSQL-CON

Dlaczego nie mogę się zalogować bez podania hosta, czy istnieje jakiś plik konfiguracyjny, który wymaga zmiany, aby coś się wydarzyło zgodnie z psqldokumentacją?


Utwórz plik, .psqlrcktóry określa wartości domyślne - lub po prostu edytuj, pg_hba.confaby użyć md5uwierzytelniania dla localpołączeń (gniazdo unix). Zobacz dokumentację dla pg_hba.confi psql.
Craig Ringer

Odpowiedzi:


7

W rzeczywistości działa zgodnie z dokumentacją.

Gdy nazwa hosta zostanie pominięta, psqlłączy się z gniazdem domeny Unix, w której wkompilowana jest ścieżka. Ta część działa w twoim przypadku, w przeciwnym razie wyświetliby inny komunikat o błędzie niż to, co pokazuje pytanie.

Komunikat o błędzie w pytaniu:

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

odnosi się do faktu, że tylko postgres użytkownika Unix ma uprawnienia do łączenia się jako postgres użytkownika bazy danych podczas korzystania z gniazda w domenie Unix. Jest to skonfigurowane w pg_hba.confpliku.

co zwykle powinieneś robić w Ubuntu, gdy jesteś zalogowany jako zwykły użytkownik, ale jesteś administratorem systemu:

$ sudo -u postgres psql

1
Dzięki .. Proszę zmienić sudo -u postgresql psqlna sudo -u postgres psql. Próbowałem edytować. Ale nie mógł, ponieważ edycja ma tylko <6 znaków.
saji89,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.