Jak vytvořit uživatele v PostgreSQL Používání PgAdminu

⚡ Chytré shrnutí

Vytvoření uživatele v PostgreSQL lze provést vizuálně v pgAdmin nebo pomocí příkazu CREATE USER v SQL Shell. Oprávnění pak můžete udělit pomocí GRANT, role upravit pomocí ALTER USER a účty odebrat pomocí DROP USER.

  • 🖱️ Vytvořit v pgAdminu: Klikněte pravým tlačítkem myši na Přihlášení/Skupinové role, zadejte jméno, nastavte heslo a oprávnění a poté uložte změny pro vytvoření uživatele.
  • 💻 Příkaz VYTVOŘIT UŽIVATELE: V SQL Shellu příkaz CREATE USER name WITH nastaví přihlašovací jméno, superuživatele a heslo jedním příkazem.
  • 🔑 Udělit přístup: UDĚLIT VŠECHNA OPRÁVNĚNÍ K DATABÁZI db uživateli udělí existujícímu uživateli přístup k databázi.
  • 🔧 ALTER USER: Příkaz ALTER USER upravuje oprávnění role, přidává nebo ruší oprávnění, například SUPERUSER.
  • 🗑️ PUSTIT UŽIVATELE: Příkaz DROP USER odstraní účet, ale až poté, co již nevlastní žádné databázové objekty.
  • 🧾 Role vs. Uživatel: CREATE USER (VYTVOŘIT UŽIVATELE) má výchozí hodnotu LOGIN (PŘIHLÁŠENÍ), zatímco CREATE ROLE má výchozí hodnotu NOLOGIN (NEPŘIHLÁŠENÍ); jinak jsou si stejné.

Jak vytvořit uživatele v PostgreSQL Používání PgAdminu

Jak vytvořit PostgreSQL Uživatel v PgAdmin

Následuje postup krok za krokem, jak vytvořit uživatele PostgreSQL PgAdmin:

Krok 1) Klikněte pravým tlačítkem na Přihlásit

V prvním kroku klikněte pravým tlačítkem na Přihlášení Role skupiny -> Vytvořit -> Klikněte na Přihlášení Role skupiny…

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 2) Vytvořit přihlašovací/skupinovou roli

Nyní zadejte jméno pro přihlášení

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 3) Klikněte na Definice a zadejte podrobnosti

  1. Zadejte heslo
  2. Datum vypršení platnosti účtu

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 4) Sekce Privilegia

  1. Toggle Tlačítko Může se přihlásit na ANO
  2. Toggle Superuser na ANO

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 5) Jedno SQL sekce

  1. Zobrazí se dotaz SQL pro vytvoření uživatele podle výběru provedeného v předchozích krocích
  2. Klepněte na tlačítko Uložit

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 6) Role je vytvořena

Nyní se role odráží ve stromu objektů.

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 7) Vytvořit Databáze

Nyní k němu přiřaďte vlastníka myguru, jak je znázorněno níže v příkladu vytvoření uživatele Postgres.

Vytvořit PostgreSQL Uživatel v PgAdmin

Krok 8) Příkazový řádek

Nyní můžete vidět, že vlastníkem je myguru.

Vytvořit PostgreSQL Uživatel v PgAdmin

PostgreSQL Vytvořte uživatelské prostředí SQLShell (příkazový řádek)

Uživatele můžete vytvořit pomocí příkazu příkazového řádku

VYTVOŘIT UŽIVATELE

Tato metoda vytvoření uživatele Postgres s heslem je pro programátory a administrátory pohodlnější, protože mají přístup ke konzoli PostgreSQL server. Kromě toho potřebují pro vytvoření a spuštění uživatele Postgres pomocí jediného příkazu místo přihlášení a používání rozhraní PostgreSQL Zákazník.

Syntaxe:

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

Příklad:

CREATE USER tom;

vytvoří uživatele tom

CREATE USER tom WITH SUPERUSER;

Vytvoří se uživatel tom s oprávněními superuživatele. Podívejme se na následující příklad.

Krok 1) Vytváříme superuživatele s platností do 3rd Duben 2025 11:50:38 IST. Zadejte následující příkaz

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

Vytvořte uživatelské prostředí SQLShell

Krok 2) Zadejte příkaz \du do kontrolního seznamu uživatelů

Vytvořte uživatelské prostředí SQLShell

POZNÁMKA: Příkaz CREATE USER je stejný jako příkaz CREATE ROLE. Rozdíl mezi těmito dvěma příkazy spočívá v tom, že když je příkaz Postgres CREATE user zapsán, je standardně ve stavu LOGIN, zatímco při použití volby CREATE ROLE se předpokládá stav NOLOGIN.

Přidejte existujícího uživatele do databáze

Uživateli můžete udělit oprávnění pro přístup k databázi.

Například udělujeme uživateli „mytest“ všechna oprávnění pro uživatele guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Přidejte existujícího uživatele do databáze

Po provedení PostgreSQL add user, uživatel bude mít přístup k databázi s danými oprávněními.

Příkaz GRANT je velmi silný. Uživateli můžete udělit podrobná oprávnění jako Vybrat, Vložit, Aktualizovat.

PostgreSQL Aktualizace USER

Změna stávajících uživatelských oprávnění

Nyní, když existuje náš nový uživatel „mytest“, můžete použít ALTER USER ke změně oprávnění udělených knihovníkovi.

Formát ALTER USER Postgres obsahuje jméno uživatele následované několika možnostmi PostgreSQL jaké přípustné změny provést:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revoking Oprávnění

Tento příkaz musíte použít, když uděláte chybu a nesprávně přidělíte oprávnění, které můžete chtít zrušit. Můžete použít příkaz ALTER USER bez předpony před povolovacími možnostmi.

Například můžeme odstranit stav SUPERUSER z mytestu jako:

ALTER USER mytest WITH NOSUPERUSER;

Pomocí \du zjistíte, že je odebráno oprávnění Superuser.

Revoking Oprávnění

Přidělování oprávnění

Uživatelské oprávnění SUPERUSER můžete použít zpět „mytest“ pomocí následujícího příkazu

ALTER USER mytest WITH SUPERUSER;

Pomocí \du uvidíte, že je přidáno oprávnění Superuser.

Přidělování oprávnění

PostgreSQL Mazání uživatele

Můžete použít odstranit libovolného uživatele, pokud jste si jisti, že konkrétní uživatel již není pro vaši databázi. Všimněte si, že odstranění uživatelů nikdy neovlivní skutečnou databázi.

Syntax: DROP USER [user]

Chcete-li odstranit libovolného uživatele, musíte se ujistit, že uživatel je vlastníkem databáze. V opačném případě se může zobrazit chybová zpráva.

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

Příklad:

  1. Účet „myguru“ je vlastníkem databáze „demoDB“.
  2. Zadejte příkaz DROP USER myguru
  3. Je zobrazena chyba

PostgreSQL Mazání uživatele

Jakmile změníme vlastníka databáze, může být uživatel smazán

PostgreSQL Mazání uživatele

Cheat Sheet

Zde jsou důležité příkazy

Příkazy Description
CREATE USER [user]
Příkaz pro vytvoření uživatele
ALTER USER role_specification
Změna stávajících uživatelských oprávnění
ALTER USER [user]
Revoking Oprávnění
ALTER USER [user name] WITH SUPERUSER
Přidělování oprávnění
DROP USER [user]
Příkaz k odstranění uživatele

Nejčastější dotazy

V shellu psql spusťte příkaz \du pro zobrazení seznamu všech rolí a jejich atributů. Stejné informace můžete také získat programově dotazem do systémového katalogu pomocí příkazu SELECT rolname FROM pg_roles.

Použijte příkaz ALTER USER, například ALTER USER mytest WITH PASSWORD 'newpassword'. Změna se projeví okamžitě. Hesla jsou uložena šifrovaná a mohou je změnit pouze superuživatelé nebo samotný uživatel.

In PostgreSQLUživatelé a role jsou stejný objekt. Příkaz CREATE USER vytvoří roli, která se může standardně přihlásit, zatímco příkaz CREATE ROLE vytvoří roli, která se nemůže přihlásit, pokud nepřidáte atribut LOGIN.

Umělá inteligence dokáže generovat příkazy CREATE USER, GRANT a ALTER USER z jednoduchého popisu potřebného přístupu a vysvětlit jednotlivá oprávnění. To vám pomůže aplikovat zabezpečení s nejnižšími oprávněními, aniž byste se museli učit syntaxi nazpaměť.

Ano. Umělá inteligence může navrhovat podrobné příkazy GRANT, které poskytují pouze požadovaná oprávnění, varovat před udělováním širokého přístupu superuživatele a doporučovat použití rolí ke seskupení oprávnění pro snazší a bezpečnější správu.

Shrňte tento příspěvek takto: