„Uwierzytelnianie równorzędne” oznacza, że używa gniazda unixowego i oczekuje, że łączący się użytkownik unixa będzie miał taką samą nazwę użytkownika unix jak nazwa użytkownika postgresql.
Ponieważ twoja lokalna uniksowa nazwa użytkownika jest funkdified i próbujesz połączyć się jako użytkownik goodsounds przez gniazdo domeny unixowej (local ) połączenie, w którym twój pg_hba.conf określa peer uwierzytelnianie, Pg poprawnie odrzuca twoją próbę połączenia.
Jest to domyślne zachowanie dla wielu instalacji podczas korzystania z gniazd uniksowych.
Możesz:
- Połącz się przez TCP/IP, określając nazwę hosta w ustawieniach połączenia z bazą danych;
- edytuj
pg_hba.confużywaćmd5uwierzytelnianie hasłem zamiastpeeruwierzytelnianie dla gniazd unixowych (localtyp połączenia), aby Pg akceptował uwierzytelnianie hasłem; lub - Połącz się z nazwą użytkownika PostgreSQL taką samą jak nazwa użytkownika unix i utwórz użytkownika w PostgreSQL, jeśli jeszcze nie istnieje.
Zobacz dokumentację dla pg_hba.conf i resztę rozdziału dokumentacji dotyczącego uwierzytelniania klienta.
Zauważ, że zmiany w pg_hba.conf nie działają natychmiast, musisz ponownie uruchomić lub przynajmniej ponownie załadować PostgreSQL, aby ponownie odczytać pg_hba.conf .
Och, także, jeśli masz zainstalowanych wiele wersji PostgreSQL, możesz mieć libpq z jednej wersji i serwer z innej. W takim przypadku upewnij się, że lokalizacja gniazda unixowego, z którym libpq łączy się domyślnie, jest taka sama jak unix_socket_directories serwera lub zastąp go (np.) host=/tmp w ciągu połączenia.