For det første er det vigtigt at forstå, at for de fleste Unix-distributioner kræver eller bruger standard Postgres-brugeren hverken en adgangskode til godkendelse. I stedet, afhængigt af hvordan Postgres oprindeligt blev installeret, og hvilken version du bruger, vil standardgodkendelsesmetoden enten være ident
eller peer
.
ident
autentificering bruger operativsystemets identifikationsserver, der kører på TCP-port 113, til at bekræfte brugerens legitimationsoplysninger.
peer
autentificering på den anden side bruges til lokale forbindelser og verificerer, at det loggede brugernavn på operativsystemet matcher brugernavnet til Postgres-databasen.
Log på og tilslut som standardbruger
For de fleste systemer er standard Postgres-brugeren postgres
og en adgangskode er ikke nødvendig for godkendelse. For at tilføje en adgangskode skal vi derfor først logge ind og oprette forbindelse som postgres
bruger.
$ sudo -u postgres psql
Hvis du har oprettet forbindelse og ser psql
skal du hoppe ned til Ændring af adgangskoden afsnit.
Hvis du modtog en fejl om, at databasen "postgres" ikke eksisterer, kan du prøve at oprette forbindelse til template1
database i stedet, og hvis det lykkes, fortsæt til Ændring af adgangskoden .
$ sudo -u postgres psql template1
Godkendelsesfejl
Hvis du modtager en godkendelsesfejl, når du forsøger at oprette forbindelse til psql
klient, skal du muligvis ændre Postgres-godkendelseskonfigurationsfilen (pg_hfa.conf).
Åbn konfigurationsfilen, typisk placeret på /etc/postgresql/#.#/main/pg_hba.conf
, hvor #.#
er den Postgres-version du bruger:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
Auth-konfigurationsfilen er en liste over godkendelsesregler. Rul ned i filen, indtil du finder den første linje, der viser postgres
bruger i den tredje kolonne (hvis en sådan linje findes). Fjern kommentere linjen, hvis det er nødvendigt (fjern semikolon), eller på anden måde, hvis linjen mangler helt, tilføj følgende linje til toppen af filen og gem dine ændringer:
local all postgres peer
Denne autentificeringsregel fortæller blot Postgres, at for lokale forbindelser etableret til alle databaser for brugeren postgres
, godkend ved hjælp af peer
protokol.
Bemærk:Nogle ældre versioner af Postgres foretrækker standardgodkendelsesmetoden ident, men de fleste moderne installationer vil i stedet bruge peer som specificeret ovenfor. Du skal muligvis teste begge, hvis dine resultater er forskellige.
Nu med din konfigurationsfil opdateret, gentag trinene i Log på og opret forbindelse som standardbruger sektion for at prøve at oprette forbindelse til som standard postgres
bruger. Når det er lykkedes, skal du fortsætte med at ændre adgangskoden.
Ændring af adgangskoden
Med en forbindelse oprettet til Postgres ved psql
prompt, skal du udstede ALTER USER
kommando for at ændre adgangskoden til postgres
bruger:
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
Hvis det lykkes, udsender Postgres en bekræftelse af ALTER ROLE
som set ovenfor.
Afslut endelig psql
klient ved at bruge \q
kommando.
postgres=# \q
I er alle færdige. Standard postgres
brugeren har nu en adgangskode knyttet til kontoen til brug i dine andre applikationer.