"Peer-godkendelse" betyder, at den bruger en unix-socket og forventer, at den tilsluttede unix-bruger har det samme unix-brugernavn som postgresql-brugernavnet.
Da dit lokale unix-brugernavn er funkdified
og du forsøger at oprette forbindelse som bruger goodsounds
over en unix-domæne-socket (local
) forbindelse, hvor din pg_hba.conf
angiver peer
godkendelse, Pg afviser korrekt dit forbindelsesforsøg.
Dette er standardadfærden for mange installationer, når du bruger unix-sockets.
Du kan:
- Opret forbindelse via TCP/IP ved at angive et værtsnavn i dine databaseforbindelsesindstillinger;
- rediger
pg_hba.conf
at brugemd5
adgangskodegodkendelse i stedet forpeer
godkendelse til unix-stik (local
forbindelsestype), så Pg accepterer adgangskodegodkendelse; eller - Forbind med et PostgreSQL-brugernavn, der er det samme som dit unix-brugernavn, og opret brugeren i PostgreSQL, hvis det ikke eksisterer endnu.
Se dokumenterne for pg_hba.conf
og resten af klientgodkendelseskapitlet i dokumentationen.
Bemærk, at ændringer til pg_hba.conf
træder ikke i kraft med det samme, du skal genstarte eller i det mindste genindlæse PostgreSQL for at få den til at genlæse pg_hba.conf
.
Åh, også, hvis du har flere PostgreSQL-versioner installeret, har du muligvis en libpq fra én version og en server fra en anden. I dette tilfælde skal du sikre dig, at placeringen for den unix-socket, som libpq opretter forbindelse til som standard, er den samme som serverens unix_socket_directories
eller tilsidesætte det med (f.eks.) host=/tmp
i din forbindelsesstreng.