Jak utworzyć użytkownika w PostgreSQL Korzystanie z PgAdmin

⚡ Inteligentne podsumowanie

Tworzenie użytkownika w PostgreSQL Można to zrobić wizualnie w pgAdmin lub za pomocą polecenia CREATE USER w powłoce SQL. Następnie można nadać uprawnienia poleceniem GRANT, modyfikować role poleceniem ALTER USER i usuwać konta poleceniem DROP USER.

  • 🖱️. Utwórz w pgAdmin: Kliknij prawym przyciskiem myszy opcję Logowanie/Role grupy, wpisz nazwę, ustaw hasło i uprawnienia, a następnie zapisz, aby utworzyć użytkownika.
  • 💻 Polecenie CREATE USER: W powłoce SQL polecenie CREATE USER name WITH options ustawia nazwę użytkownika, superużytkownika i hasło w jednym poleceniu.
  • 🔑 Udziel dostępu: PRZYZNAJ WSZYSTKIE UPRAWNIENIA DO BAZY DANYCH db TO użytkownik przyznaje istniejącemu użytkownikowi dostęp do bazy danych.
  • 🔧 ZMIEŃ UŻYTKOWNIKA: Polecenie ALTER USER dostosowuje uprawnienia roli, dodając lub odbierając uprawnienia, takie jak SUPERUSER.
  • 🗑️ USUŃ UŻYTKOWNIKA: DROP USER usuwa konto, ale dopiero wtedy, gdy nie jest już ono właścicielem żadnych obiektów bazy danych.
  • 🧾 Rola a użytkownik: Polecenie CREATE USER domyślnie ma wartość LOGIN, natomiast polecenie CREATE ROLE domyślnie ma wartość NOLOGIN; w pozostałych przypadkach są takie same.

Jak utworzyć użytkownika w PostgreSQL Korzystanie z PgAdmin

Jak stworzyć PostgreSQL Użytkownik w PgAdmin

Poniżej przedstawiono krok po kroku proces tworzenia użytkownika w PostgreSQL PgAdmin:

Krok 1) Kliknij prawym przyciskiem myszy Zaloguj się

W pierwszym kroku kliknij prawym przyciskiem myszy rolę grupy logowania -> Utwórz -> kliknij rolę grupy logowania…

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 2) Utwórz rolę logowania/grupy

Teraz wprowadź nazwę logowania

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 3) Kliknij na Definicję i wprowadź szczegóły

  1. Wprowadź hasło
  2. Data ważności konta

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 4) Sekcja Przywilejów

  1. Toggle Przycisk Można się zalogować na TAK
  2. Toggle Superużytkownik na TAK

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 5) SQL Sekcja

  1. Zobaczysz zapytanie SQL umożliwiające utworzenie użytkownika zgodnie z wyborami dokonanymi w poprzednich krokach
  2. Kliknij przycisk Zapisz

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 6) Rola została utworzona

Teraz rola jest odzwierciedlana w drzewie obiektów.

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 7) Stwórz Baza danych

Teraz przypisz do niego właściciela myguru, jak pokazano poniżej, utwórz przykład użytkownika Postgres.

Stwórz PostgreSQL Użytkownik w PgAdmin

Krok 8) Linia poleceń

Teraz widzisz, że właścicielem jest myguru.

Stwórz PostgreSQL Użytkownik w PgAdmin

PostgreSQL Utwórz użytkownika SQLShell (wiersz poleceń)

Użytkownika można utworzyć za pomocą polecenia wiersza poleceń

STWÓRZ UŻYTKOWNIKA

Ta metoda tworzenia użytkownika za pomocą hasła Postgres jest wygodniejsza dla programistów i administratorów, ponieważ mają oni dostęp do konsoli PostgreSQL serwer. Ponadto wymagają utworzenia użytkownika Postgres i wykonania go za pomocą jednego polecenia zamiast logowania i korzystania z interfejsu PostgreSQL klient.

Składnia:

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

Przykład:

CREATE USER tom;

utworzy użytkownika tom

CREATE USER tom WITH SUPERUSER;

Utworzy użytkownika tom z uprawnieniami superużytkownika. Zobaczmy poniższy przykład.

Krok 1) Tworzymy superużytkownika ważnego do 3rd Kwiecień 2025 11:50:38 IST. Wprowadź następujące polecenie

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

Utwórz użytkownika SQLShell

Krok 2) Wpisz polecenie \du na liście kontrolnej użytkowników

Utwórz użytkownika SQLShell

UWAGA: Polecenie CREATE USER jest tym samym, co polecenie CREATE ROLE. Różnica między nimi polega na tym, że po zapisaniu polecenia CREATE user w Postgres domyślnie znajduje się ono w stanie LOGIN, natomiast po użyciu opcji CREATE ROLE przyjmowany jest stan NOLOGIN.

Dodaj istniejącego użytkownika do bazy danych

Możesz nadać użytkownikowi uprawnienia dostępu do bazy danych.

Przykład: przyznajemy użytkownikowi „mytest” wszystkie uprawnienia użytkownikowi guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Dodaj istniejącego użytkownika do bazy danych

Po wykonaniu ww PostgreSQL dodaj polecenie użytkownika, użytkownik będzie mógł uzyskać dostęp do bazy danych z podanymi uprawnieniami.

Polecenie GRANT ma ogromne możliwości. Możesz nadać użytkownikowi szczegółowe uprawnienia, takie jak Wybierz, Wstaw, Aktualizuj.

PostgreSQL Aktualizowanie UŻYTKOWNIKA

Zmiana istniejących uprawnień użytkownika

Teraz, gdy istnieje nasz nowy użytkownik „mytest”, możesz użyć opcji ALTER USER, aby zmienić uprawnienia przyznane bibliotekarzowi.

Format ALTER USER Postgres zawiera nazwę użytkownika, po której następują pewne opcje PostgreSQL jakie dopuszczalne zmiany należy wprowadzić:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revok. Uprawnienia

Musisz użyć tego polecenia, jeśli popełnisz błąd i błędnie przypiszesz uprawnienia, które możesz chcieć cofnąć. Możesz użyć polecenia ALTER USER bez przedrostka przed opcjami zezwalającymi.

Na przykład możemy usunąć status SUPERUSER z mojego testu w następujący sposób:

ALTER USER mytest WITH NOSUPERUSER;

Używając \du, zauważysz, że uprawnienia Superuser zostały usunięte.

Revok. Uprawnienia

Przypisywanie uprawnień

Możesz użyć uprawnienia użytkownika SUPERUSER z powrotem „mytest” za pomocą następującego polecenia

ALTER USER mytest WITH SUPERUSER;

Używając \du, zauważysz, że dodano przywilej Superuser.

Przypisywanie uprawnień

PostgreSQL Usuwanie użytkownika

Możesz użyć opcji usunięcia dowolnego użytkownika, jeśli masz pewność, że dany użytkownik nie jest już zapisany w Twojej bazie danych. Pamiętaj, że usunięcie użytkowników nigdy nie będzie miało wpływu na rzeczywistą bazę danych.

Syntax: DROP USER [user]

Aby usunąć dowolnego użytkownika, musisz się upewnić, że użytkownik jest właścicielem bazy danych. W przeciwnym razie może pojawić się komunikat o błędzie.

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

Przykład:

  1. Konto „myguru” jest właścicielem bazy danych „demoDB”.
  2. Wpisz polecenie DROP USER myguru
  3. Wyświetlany jest błąd

PostgreSQL Usuwanie użytkownika

Gdy zmienimy właściciela bazy danych, użytkownik będzie mógł zostać usunięty

PostgreSQL Usuwanie użytkownika

Ściągawka

Oto ważne polecenia

Polecenia OPIS
CREATE USER [user]
Polecenie utworzenia użytkownika
ALTER USER role_specification
Zmiana istniejących uprawnień użytkownika
ALTER USER [user]
Revok. Uprawnienia
ALTER USER [user name] WITH SUPERUSER
Przypisywanie uprawnień
DROP USER [user]
Polecenie usunięcia użytkownika

FAQ

W powłoce psql uruchom polecenie \du, aby wyświetlić listę wszystkich ról i ich atrybutów. Możesz również wykonać zapytanie do katalogu systemowego za pomocą polecenia SELECT rolname FROM pg_roles, aby uzyskać te same informacje programowo.

Użyj polecenia ALTER USER, na przykład ALTER USER mytest WITH PASSWORD 'nowehasło'. Zmiana zostanie wprowadzona natychmiast. Hasła są przechowywane w postaci zaszyfrowanej i tylko superużytkownicy lub sam użytkownik mogą je zmienić.

In PostgreSQLUżytkownicy i role to ten sam obiekt. Polecenie CREATE USER tworzy rolę, która domyślnie może się logować, natomiast polecenie CREATE ROLE tworzy rolę, która nie może się zalogować, dopóki nie dodasz atrybutu LOGIN.

Sztuczna inteligencja może generować polecenia CREATE USER, GRANT i ALTER USER na podstawie prostego opisu potrzebnego dostępu i wyjaśniać każde uprawnienie. Dzięki temu możesz stosować zabezpieczenia oparte na minimalnych uprawnieniach bez konieczności zapamiętywania składni.

Tak. Sztuczna inteligencja może sugerować szczegółowe polecenia GRANT przyznające tylko wymagane uprawnienia, ostrzegać przed udzielaniem szerokich uprawnień superużytkownika i zalecać używanie ról do grupowania uprawnień w celu łatwiejszego i bezpieczniejszego zarządzania.

Podsumuj ten post następująco: