Problemet er stadig din pg_hba.conf
fil*.
Denne linje:
local all postgres peer
Skal være:
local all postgres md5
* Placeringen af denne fil er ikke særlig konsekvent. Kommandoen locate pg_hba.conf
skulle hjælpe; her er nogle eksempler:/etc/postgresql/*/main/pg_hba.conf
og /var/lib/pgsql/data/pg_hba.conf
.
Efter at have ændret denne fil, glem ikke at genstarte din PostgreSQL-server. Hvis du er på Linux, ville det være sudo service postgresql restart
.
Disse er korte beskrivelser af begge muligheder i henhold til de officielle PostgreSQL-dokumenter om godkendelsesmetoder.
Peer-godkendelse
Peer-godkendelsesmetoden fungerer ved at hente klientens operativsystembrugernavn fra kernen og bruge det som det tilladte databasebrugernavn (med valgfri brugernavnstilknytning). Denne metode understøttes kun på lokale forbindelser.
Adgangskodegodkendelse
De adgangskodebaserede godkendelsesmetoder er md5 og adgangskode. Disse metoder fungerer på samme måde bortset fra den måde, hvorpå adgangskoden sendes på tværs af forbindelsen, nemlig henholdsvis MD5-hashed og klartekst.
Hvis du overhovedet er bekymret for "sniffing"-angreb med adgangskode, foretrækkes md5. Almindelig adgangskode bør altid undgås, hvis det er muligt. md5 kan dog ikke bruges med funktionen db_user_namespace. Hvis forbindelsen er beskyttet af SSL-kryptering, kan adgangskoden bruges sikkert (selvom SSL-certifikatgodkendelse kan være et bedre valg, hvis man er afhængig af at bruge SSL).
Eksempelplacering for pg_hba.conf
:/etc/postgresql/9.1/main/pg_hba.conf