sql >> Database >  >> RDS >> PostgreSQL

Het standaard gebruikerswachtwoord instellen in PostgreSQL

Ten eerste is het belangrijk om te begrijpen dat voor de meeste Unix-distributies de standaard Postgres-gebruiker geen wachtwoord nodig heeft of gebruikt voor authenticatie. In plaats daarvan, afhankelijk van hoe Postgres oorspronkelijk is geïnstalleerd en welke versie u gebruikt, is de standaardverificatiemethode ident of peer .

ident authenticatie gebruikt de identificatieserver van het besturingssysteem die draait op TCP-poort 113 om de inloggegevens van de gebruiker te verifiëren.

peer authenticatie daarentegen wordt gebruikt voor lokale verbindingen en controleert of de ingelogde gebruikersnaam van het besturingssysteem overeenkomt met de gebruikersnaam voor de Postgres-database.

Log in en maak verbinding als standaardgebruiker

Voor de meeste systemen is de standaard Postgres-gebruiker postgres en een wachtwoord is niet vereist voor authenticatie. Om een ​​wachtwoord toe te voegen, moeten we dus eerst inloggen en verbinding maken als de postgres gebruiker.

$ sudo -u postgres psql

Als je succesvol verbinding hebt gemaakt en de psql . bekijkt prompt, spring naar beneden naar Het wachtwoord wijzigen sectie.

Als je een foutmelding krijgt dat de database "postgres" niet bestaat, probeer dan verbinding te maken met de template1 database in plaats daarvan en ga, indien succesvol, verder naar Het wachtwoord wijzigen .

$ sudo -u postgres psql template1

Verificatiefout

Als u een authenticatiefout krijgt wanneer u probeert verbinding te maken met de psql client, moet u mogelijk het configuratiebestand voor Postgres-verificatie (pg_hfa.conf) wijzigen.

Open het configuratiebestand, meestal te vinden op /etc/postgresql/#.#/main/pg_hba.conf , waar #.# is de Postgres-versie die u gebruikt:

$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf

Het auth-configuratiebestand is een lijst met authenticatieregels. Blader door het bestand totdat u de eerste regel vindt met de postgres gebruiker in de derde kolom (als een dergelijke regel bestaat). Maak indien nodig het commentaar van de regel ongedaan (verwijder de puntkomma), of anders, als de regel volledig ontbreekt, voeg de volgende regel toe aan de bovenkant van het bestand en sla uw wijzigingen op:

local all postgres peer

Deze authenticatieregel vertelt Postgres eenvoudig dat voor lokale verbindingen die tot stand zijn gebracht met alle databases voor de gebruiker postgres , authenticeer met behulp van de peer protocol.

Opmerking:Sommige oudere versies van Postgres geven de voorkeur aan de standaard authenticatiemethode ident, maar de meeste moderne installaties zullen in plaats daarvan peer gebruiken zoals hierboven gespecificeerd. Mogelijk moet u beide testen als uw resultaten verschillen.

Nu uw configuratiebestand is bijgewerkt, herhaalt u de stappen in Aanmelden en verbinding maken als standaardgebruiker sectie om verbinding mee te maken als de standaard postgres gebruiker. Als dit is gelukt, gaat u verder met het wijzigen van het wachtwoord.

Het wachtwoord wijzigen

Met nu een verbinding met Postgres op de psql prompt, geef de ALTER USER commando om het wachtwoord voor de postgres . te wijzigen gebruiker:

postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE

Indien succesvol, zal Postgres een bevestiging van ALTER ROLE uitvoeren zoals hierboven te zien.

Sluit ten slotte de psql . af client met behulp van de \q commando.

postgres=# \q

Je bent helemaal klaar. De standaard postgres gebruiker heeft nu een wachtwoord gekoppeld aan het account voor gebruik in uw andere applicaties.


  1. Dubbele sleutels negeren tijdens 'kopiëren van' in postgresql

  2. Formules om geografische nabijheid te berekenen

  3. Python, Ruby en Golang:een vergelijking van webservicetoepassingen

  4. SQL Server-replicatie instellen en configureren