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

Sådan indstilles standardbrugeradgangskoden i PostgreSQL

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.


  1. 2 måder at konvertere til store bogstaver i Oracle

  2. 7 måder at finde duplikerede rækker i SQL Server, mens du ignorerer enhver primær nøgle

  3. MySQL LAST_INSERT_ID() brugt med flere poster INSERT-sætning

  4. Bevar forældre-barn-relationer, når du kopierer hierarkiske data