"Peer-autentisering" betyder att den använder en unix-socket och förväntar sig att den anslutande unix-användaren ska ha samma unix-användarnamn som postgresql-användarnamnet.
Eftersom ditt lokala unix-användarnamn är funkdified och du försöker ansluta som användare goodsounds över en unix-domänsocket (local ) anslutning där din pg_hba.conf anger peer autentisering, Pg avvisar korrekt ditt anslutningsförsök.
Detta är standardbeteendet för många installationer när man använder unix-sockets.
Du kan:
- Anslut via TCP/IP genom att ange ett värdnamn i dina databasanslutningsinställningar;
- redigera
pg_hba.confför att användamd5lösenordsautentisering istället förpeerautentisering för unix-uttag (localanslutningstyp) så Pg accepterar lösenordsautentisering; eller - Anslut till ett PostgreSQL-användarnamn som är samma som ditt unix-användarnamn och skapa användaren i PostgreSQL om det inte finns ännu.
Se dokumenten för pg_hba.conf och resten av klientautentiseringskapitlet i dokumentationen.
Observera att ändringar till pg_hba.conf träder inte i kraft omedelbart, du måste starta om eller åtminstone ladda om PostgreSQL för att få den att läsa om pg_hba.conf .
Åh, också, om du har flera PostgreSQL-versioner installerade kan du ha en libpq från en version och en server från en annan. Se i det här fallet till att platsen för unix-socket som libpq ansluter till som standard är densamma som serverns unix_socket_directories eller åsidosätta den med (t.ex.) host=/tmp i din anslutningssträng.