I den här handledningen kommer vi att utforska hur man återställer lösenorden för användare med PostgreSQL-servern. Det är bra att komma ihåg att databasanvändarna i detta fall avser användare med tillgång till databasmotorn. Därför inkluderar detta inte användardata för en viss applikation.
Metod 1: Använda PSQL-verktyget
Det vanligaste sättet att återställa ett användarlösenord i PostgreSQL är genom att logga in som superanvändare (Postgres) med hjälp av PSQL-verktyget.
Starta en ny terminalsession och kör följande kommando för att komma åt PostgreSQL-databasen som superanvändare:
$ psql -I postgres
Det givna kommandot uppmanar dig att ange superanvändarlösenordet som definierats under serverinstallationen.
När du väl har loggat in på PostgreSQL kommandoradsgränssnitt kan du använda kommandot ALTER USER för att återställa lösenordet för ett specifikt användarnamn.
Kommandosyntaxen är som följer:
ÄNDRA ANVÄNDARnamn MED LÖSENORD 'nytt lösenord' ;Anta till exempel att vi vill återställa lösenordet för användarnamnet 'linuxhint'. Vi kan köra frågan enligt följande:
ÄNDRA ANVÄNDARE linuxhint MED LÖSENORD 'Lösenord' ;
Du bör bifoga lösenordet i de enskilda citattecken, främst om lösenordet innehåller specialtecken.
När kommandot har utförts framgångsrikt kan du logga ut från PSQL-gränssnittet med följande kommando:
\qMetod 2: Använda det grafiska gränssnittet PgAdmin
Du kan också återställa lösenordet för en given databasanvändare med det grafiska gränssnittet pgAdmin.
Du kan följa stegen som beskrivs här för att lära dig hur du återställer ett användarlösenord med hjälp av pgAdmin:
a. Starta verktyget pgAdmin och logga in med rätt referenser.
b. Anslut till målservern för PostgreSQL med hjälp av superanvändaruppgifterna.
c. Expandera gruppen 'Server' i objektutforskaren på vänster sida och navigera till måldatabasen.
d. Expandera noden 'Logga in/grupproller' för att hitta den användare vars lösenord du vill återställa. I det här fallet vill vi återställa lösenordet för 'linuxhint'-användaren.
e. Högerklicka på den valda användaren och välj 'Egenskaper' från snabbmenyn.
f. I fönstret 'Egenskaper' navigerar du till fliken 'Definition'.
g. Ange det nya lösenordet i fältet 'Lösenord' för den definierade användaren.
h. Klicka slutligen på 'Spara' för att spara ändringarna.
Detta bör ställa in det nyligen angivna lösenordet för målanvändaren.
Metod 3: Redigera PostgreSQL-lösenordskonfigurationsfilen
Om du har glömt lösenordet för superanvändarkontot kan du återställa lösenordet genom att redigera PostgreSQL-lösenordskonfigurationsfilen.
Börja med att hitta datakatalogen för din PostgreSQL-installation. Sökvägen till den här katalogen varierar beroende på ditt operativsystem och den installerade PostgreSQL-versionen.
I datakatalogen, leta upp filen pg_hba.conf och redigera den med din textredigerare.
Ändra alla lokala anslutningar från md5 till trust. Detta talar om för PostgreSQL att lita på alla inkommande anslutningar från den lokala maskinen utan lösenord.
# TYP DATABAS ANVÄNDARE ADRESS METOD# 'local' är endast för Unix-domänsocket-anslutningar
lokalt alla alla förtroende
# IPv4 lokala anslutningar:
värd alla alla 127.0.0.1/32 förtroende
# IPv6 lokala anslutningar:
värd alla alla ::1/128 förtroende
# Tillåt replikeringsanslutningar från localhost av en användare med
# replikeringsbehörighet.
lokal replikering alla förtroende
värd replikering alla 127.0.0.1/32 trust
värd replikering alla ::1/128 förtroende
När du är klar måste du starta om PostgreSQL-servern för att ändringarna ska träda i kraft. Du kan sedan logga in på PostgreSQL-servern med Postgres-användaren utan lösenord.
Slutsats
Vi utforskade de olika metoderna och teknikerna som vi kan använda för att återställa ett användarlösenord i PostgreSQL.