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.