"Peer-authenticatie" betekent dat het een unix-socket gebruikt en verwacht dat de verbindende unix-gebruiker dezelfde unix-gebruikersnaam heeft als de postgresql-gebruikersnaam.
Aangezien uw lokale Unix-gebruikersnaam funkdified
is en je probeert verbinding te maken als gebruiker goodsounds
via een unix domein socket (local
) verbinding waar uw pg_hba.conf
specificeert peer
authenticatie, Pg wijst uw verbindingspoging correct af.
Dit is het standaardgedrag voor veel installaties bij het gebruik van unix-sockets.
U kunt:
- Verbind via TCP/IP door een hostnaam op te geven in uw databaseverbindingsinstellingen;
- bewerk
pg_hba.conf
ommd5
te gebruiken wachtwoordverificatie in plaats vanpeer
authenticatie voor unix-sockets (local
verbindingstype) zodat Pg wachtwoordverificatie accepteert; of - Maak verbinding met een PostgreSQL-gebruikersnaam die gelijk is aan uw Unix-gebruikersnaam en maak de gebruiker aan in PostgreSQL als deze nog niet bestaat.
Zie de documenten voor pg_hba.conf
en de rest van het hoofdstuk over clientauthenticatie van de documentatie.
Merk op dat wijzigingen in pg_hba.conf
niet onmiddellijk van kracht worden, moet u PostgreSQL opnieuw opstarten of ten minste opnieuw laden om het pg_hba.conf
opnieuw te laten lezen .
Oh, ook, als je meerdere PostgreSQL-versies hebt geïnstalleerd, heb je misschien een libpq van de ene versie en een server van een andere. Zorg er in dit geval voor dat de locatie voor de unix-socket waarmee libpq standaard verbinding maakt, dezelfde is als de unix_socket_directories
van de server of overschrijf het met (bijv.) host=/tmp
in uw verbindingsreeks.