sql >> Database teknologi >  >> RDS >> PostgreSQL

Får fejl:Peer-godkendelse mislykkedes for brugerens postgres, når man forsøgte at få pgsql til at arbejde med skinner

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



  1. Gennemfør Laravel 8 Soft Slet &Gendan slettede optegnelser Tutorial

  2. 4 måder at finde rækker, der indeholder store bogstaver i PostgreSQL

  3. Docker-compose tjek om mysql-forbindelsen er klar

  4. UTF-8 tegnkodningskampe json_encode()