Sådan opretter du bruger i PostgreSQL Brug af PgAdmin

⚡ Smart opsummering

Oprettelse af en bruger i PostgreSQL kan gøres visuelt i pgAdmin eller med CREATE USER-kommandoen i SQL Shell. Du kan derefter tildele privilegier med GRANT, ændre roller med ALTER USER og fjerne konti med DROP USER.

  • 🖱️ Opret i pgAdmin: Højreklik på Login/Grupperoller, indtast et navn, angiv en adgangskode og rettigheder, og gem derefter for at oprette brugeren.
  • 💻 CREATE USER-kommando: I SQL Shell angiver CREATE USER name WITH-indstillingerne login, superbruger og adgangskode i én kommando.
  • 🔑 Giv adgang: GIV ALLE RETTIGHEDER PÅ DATABASE db TIL brugeren giver en eksisterende bruger adgang til en database.
  • 🔧 ÆNDRE BRUGER: ALTER USER justerer en rolles tilladelser, tilføjer eller tilbagekalder rettigheder såsom SUPERUSER.
  • 🗑️ SLIP BRUGER: DROP USER fjerner en konto, men først efter den ikke længere ejer nogen databaseobjekter.
  • 🧾 Rolle vs. bruger: CREATE USER har standardindstillingen LOGIN, mens CREATE ROLE har standardindstillingen NOLOGIN; ellers er de de samme.

Sådan opretter du bruger i PostgreSQL Brug af PgAdmin

Sådan opretter du PostgreSQL Bruger i PgAdmin

Følgende er en trin for trin proces om, hvordan du opretter bruger i PostgreSQL PgAdmin:

Trin 1) Højreklik på Log ind

I det første trin skal du højreklikke på Login-grupperolle -> Opret -> Klik på Login-grupperolle...

Opret PostgreSQL Bruger i PgAdmin

Trin 2) Opret login/grupperolle

Indtast nu navnet på login

Opret PostgreSQL Bruger i PgAdmin

Trin 3) Klik på Definition & Indtast detaljer

  1. Indtast adgangskode
  2. En udløbsdato for kontoen

Opret PostgreSQL Bruger i PgAdmin

Trin 4) Privilegiumsektionen

  1. Toggle Kan logge på knappen til YES
  2. Toggle Superbruger til JA

Opret PostgreSQL Bruger i PgAdmin

Trin 5) SQL sektion

  1. Du vil se SQL-forespørgslen for at oprette en bruger i henhold til valgene i de foregående trin
  2. Klik på knappen Gem

Opret PostgreSQL Bruger i PgAdmin

Trin 6) Rolle er skabt

Nu afspejles Rolle i objekttræet.

Opret PostgreSQL Bruger i PgAdmin

Trin 7) Opret en Database

Tildel nu ejer myguru til det som vist i nedenstående opret bruger Postgres eksempel.

Opret PostgreSQL Bruger i PgAdmin

Trin 8) Kommandolinjen

Nu kan du se, at ejeren er myguru.

Opret PostgreSQL Bruger i PgAdmin

PostgreSQL Opret en bruger SQLShell (kommandolinje)

Du kan oprette en bruger ved at bruge kommandolinjekommandoen

CREATE USER

Denne Postgres oprette bruger med adgangskode metode er mere praktisk for programmører og administratorer, da de har adgang til konsollen på PostgreSQL server. Desuden har de brug for Postgres-brugeroprettelse og udførelse med en enkelt kommando i stedet for at logge på og bruge grænsefladen til PostgreSQL kunde.

Syntaks:

CREATE USER name [ WITH ] option [ ... ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

Eksempel:

CREATE USER tom;

vil oprette en bruger tom

CREATE USER tom WITH SUPERUSER;

Vil oprette en bruger-tom med superbrugerrettigheder. Lad os se på følgende eksempel.

Trin 1) Vi opretter en superbruger, der er gyldig til 3rd April 2025 11:50:38 IST. Indtast følgende kommando

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30'
	PASSWORD '123456';

Opret en bruger SQLShell

Trin 2) Indtast kommando \du i tjeklisten over brugere

Opret en bruger SQLShell

BEMÆRK VENLIGST: CREATE USER er det samme som CREATE ROLE-kommandoen. Forskellen mellem de to kommandoer er, at når Postgres CREATE user-kommandoen skrives, er den som standard i LOGIN-tilstand, hvorimod NOLOGIN antages, når CREATE ROLE-indstillingen bruges.

Tilføj en eksisterende bruger til en database

Du kan give en bruger rettigheder til at få adgang til en database.

Eksempelvis giver vi bruger "mytest" alle privilegier på bruger guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Tilføj en eksisterende bruger til en database

Efter udførelse af PostgreSQL tilføje brugerkommando, vil brugeren få adgang til databasen med de givne tilladelser.

Kommandoen GRANT er meget kraftfuld. Du kan give detaljerede privilegier som Vælg, Indsæt, Opdater til en bruger.

PostgreSQL Opdaterer USER

Ændring af eksisterende brugertilladelser

Nu hvor vores nye bruger "mytest" eksisterer, kan du bruge ALTER USER til at ændre de tilladelser, der er givet til bibliotekaren.

Formatet på ALTER USER Postgres inkluderer navnet på brugeren efterfulgt af nogle muligheder for at fortælle PostgreSQL hvilke tilladelige ændringer der skal foretages:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revoking tilladelser

Du skal bruge denne kommando, når du laver en fejl og fejlagtigt tildeler tilladelse, som du måske ønsker at tilbagekalde. Du kan bruge kommandoen ALTER USER uden præfiks før de tilladelige muligheder.

For eksempel kan vi fjerne SUPERUSER-statussen fra min test som:

ALTER USER mytest WITH NOSUPERUSER;

Ved at bruge \du vil du se, at Superbruger-privilegiet er fjernet.

Revoking tilladelser

Tildeling af tilladelse

Du kan bruge brugerens SUPERUSER-tilladelse tilbage "mytest" ved at bruge følgende kommando

ALTER USER mytest WITH SUPERUSER;

Ved at bruge \du vil du se, at Superbruger-privilegiet er tilføjet.

Tildeling af tilladelse

PostgreSQL Sletter bruger

Du kan bruge slet enhver bruger, hvis du er sikker på, at den specifikke bruger ikke længere er til din database. Bemærk, at sletning af brugerne aldrig vil påvirke den faktiske database.

Syntax: DROP USER [user]

For at slette enhver bruger skal du sikre dig, at brugeren er ejer af databasen. Ellers kan du modtage en fejlmeddelelse.

ERROR:  role "username" cannot be dropped because some objects depend on it

Eksempel:

  1. Kontoen "myguru" er ejer af databasen "demoDB."
  2. Indtast kommandoen DROP USER myguru
  3. Fejl vises

PostgreSQL Sletter bruger

Når vi har ændret databaseejeren, kan brugeren blive slettet

PostgreSQL Sletter bruger

Cheat Sheet

Her er vigtige kommandoer

Kommandoer Beskrivelse
CREATE USER [user]
Kommando til at oprette en bruger
ALTER USER role_specification
Ændring af eksisterende brugertilladelser
ALTER USER [user]
Revoking tilladelser
ALTER USER [user name] WITH SUPERUSER
Tildeling af tilladelse
DROP USER [user]
Kommando til at slette en bruger

Ofte Stillede Spørgsmål

I psql-shellen skal du køre kommandoen \du for at liste alle roller og deres attributter. Du kan også forespørge systemkataloget med SELECT rolname FROM pg_roles for at få de samme oplysninger programmatisk.

Brug ALTER USER, for eksempel ALTER USER mytest WITH PASSWORD 'newpassword'. Ændringen træder i kraft med det samme. Adgangskoder gemmes krypteret, og kun superbrugere eller brugeren selv kan ændre dem.

In PostgreSQL, brugere og roller er det samme objekt. CREATE USER opretter en rolle, der som standard kan logge ind, mens CREATE ROLE opretter en rolle, der ikke kan logge ind, medmindre du tilføjer LOGIN-attributten.

AI kan generere CREATE USER-, GRANT- og ALTER USER-sætninger ud fra en enkel beskrivelse af den adgang, du har brug for, og forklare hvert privilegium. Dette hjælper dig med at anvende sikkerhed med færrest privilegier uden at skulle huske syntaks.

Ja. AI kan foreslå detaljerede GRANT-kommandoer, der kun giver de nødvendige rettigheder, advare mod at give bred superbrugeradgang og anbefale at bruge roller til at gruppere tilladelser for nemmere og mere sikker administration.

Opsummer dette indlæg med: