Як створити користувача в PostgreSQL Використання PgAdmin

⚡ Розумний підсумок

Створення користувача в PostgreSQL можна зробити візуально в pgAdmin або за допомогою команди CREATE USER в SQL Shell. Потім ви можете надати привілеї за допомогою GRANT, змінити ролі за допомогою ALTER USER та видалити облікові записи за допомогою DROP USER.

  • 🖱️ Створити в pgAdmin: Клацніть правою кнопкою миші «Ролі входу/групи», введіть ім’я, встановіть пароль і права, а потім збережіть зміни, щоб створити користувача.
  • 💻 Команда СТВОРИТИ КОРИСТУВАЧА: У SQL Shell, CREATE USER name WITH options встановлює логін, ім'я суперкористувача та пароль однією командою.
  • 🔑 Надати доступ: НАДАТИ ВСІ ПРИВІЛЕГІЇ НА БАЗУ ДАНИХ db користувач надає існуючому користувачеві доступ до бази даних.
  • 🔧 ЗМІНИТИ КОРИСТУВАЧА: ALTER USER змінює дозволи ролі, додаючи або скасовуючи привілеї, такі як SUPERUSER.
  • 🗑️ ВИДАЛИТИ КОРИСТУВАЧА: Команда DROP USER видаляє обліковий запис, але лише після того, як він більше не володіє жодними об'єктами бази даних.
  • 🧾 Роль проти користувача: CREATE USER за замовчуванням має значення LOGIN, тоді як CREATE ROLE за замовчуванням має значення NOLOGIN; в іншому випадку вони однакові.

Як створити користувача в PostgreSQL Використання PgAdmin

Як створити PostgreSQL Користувач у PgAdmin

Нижче наведено крок за кроком процес створення користувача PostgreSQL PgAdmin:

Крок 1) Клацніть правою кнопкою миші на вході

На першому кроці клацніть правою кнопкою миші Роль групи входу -> Створити -> Натисніть Роль групи входу…

Створити PostgreSQL Користувач у PgAdmin

Крок 2) Створити роль для входу/групи

Тепер введіть ім’я для входу

Створити PostgreSQL Користувач у PgAdmin

Крок 3) Натисніть Визначення та введіть деталі

  1. Введіть пароль
  2. Термін дії облікового запису

Створити PostgreSQL Користувач у PgAdmin

Крок 4) Розділ «Привілеї».

  1. Toggle Кнопка «Можна ввійти» на ТАК
  2. Toggle Суперкористувач на ТАК

Створити PostgreSQL Користувач у PgAdmin

Крок 5) Команда SQL розділ

  1. Ви побачите SQL-запит для створення користувача відповідно до вибору, зробленого на попередніх кроках
  2. Натисніть кнопку Зберегти

Створити PostgreSQL Користувач у PgAdmin

Крок 6) Роль створена

Тепер Роль відображається в дереві об’єктів.

Створити PostgreSQL Користувач у PgAdmin

Крок 7) Створити Database

Тепер призначте йому власника myguru, як показано нижче у прикладі створення користувача Postgres.

Створити PostgreSQL Користувач у PgAdmin

Крок 8) Командний рядок

Тепер ви бачите, що власником є ​​myguru.

Створити PostgreSQL Користувач у PgAdmin

PostgreSQL Створення користувача SQLShell (командний рядок)

Ви можете створити користувача за допомогою команди командного рядка

СТВОРИТИ КОРИСТУВАЧА

Цей спосіб створення користувача з паролем у Postgres більш зручний для програмістів і адміністраторів, оскільки вони мають доступ до консолі PostgreSQL сервер. Крім того, їм потрібно створити користувача Postgres і виконати одну команду замість входу в систему та використання інтерфейсу PostgreSQL клієнт.

Синтаксис:

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

приклад:

CREATE USER tom;

створить том користувача

CREATE USER tom WITH SUPERUSER;

Створимо користувача tom з правами суперкористувача. Розглянемо наступний приклад.

Крок 1) Створюємо суперкористувача до 3rd Квітень 2025 11:50:38 IST. Введіть таку команду

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

Створіть оболонку користувача SQLShell

Крок 2) Введіть команду \du в контрольний список користувачів

Створіть оболонку користувача SQLShell

ПРИМІТКА: Команда CREATE USER ідентична команді CREATE ROLE. Різниця між цими двома командами полягає в тому, що під час запису команди Postgres CREATE user вона за замовчуванням перебуває у стані LOGIN, тоді як при використанні опції CREATE ROLE передбачається стан NOLOGIN.

Додати існуючого користувача до бази даних

Ви можете надати користувачеві права доступу до бази даних.

Наприклад, ми надаємо користувачу «mytest» усі привілеї користувача guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Додати існуючого користувача до бази даних

Після виконання PostgreSQL додати команду користувача, користувач матиме доступ до бази даних із наданими дозволами.

Команда GRANT дуже потужна. Ви можете надати користувачеві детальні привілеї, як-от вибір, вставка, оновлення.

PostgreSQL Оновлення USER

Зміна існуючих дозволів користувача

Тепер, коли наш новий користувач «mytest» існує, ви можете використовувати ALTER USER, щоб змінити дозволи, надані бібліотекарю.

Формат ALTER USER Postgres включає ім’я користувача, а потім кілька параметрів, які слід повідомити PostgreSQL які дозволені зміни внести:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revотримання дозволів

Вам потрібно використовувати цю команду, коли ви зробили помилку та неправильно призначили дозвіл, який ви можете відкликати. Ви можете використовувати команду ALTER USER без префікса перед параметрами дозволу.

Наприклад, ми можемо видалити статус СУПЕРКОРИСТУВАЧА з mytest, наприклад:

ALTER USER mytest WITH NOSUPERUSER;

Використовуючи \du, ви побачите, що привілей суперкористувача видалено.

Revотримання дозволів

Призначення дозволу

Ви можете використовувати дозвіл користувача SUPERUSER назад «mytest» за допомогою такої команди

ALTER USER mytest WITH SUPERUSER;

Використовуючи \du, ви побачите, що додано привілей суперкористувача.

Призначення дозволу

PostgreSQL Видалення користувача

Ви можете видалити будь-якого користувача, якщо ви впевнені, що конкретний користувач більше не є для вашої бази даних. Зауважте, що видалення користувачів ніколи не вплине на фактичну базу даних.

Syntax: DROP USER [user]

Щоб видалити будь-якого користувача, ви повинні переконатися, що він є власником бази даних. В іншому випадку ви можете отримати повідомлення про помилку.

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

приклад:

  1. Акаунт myguru є власником бази даних demoDB.
  2. Введіть команду DROP USER myguru
  3. Помилка відображається

PostgreSQL Видалення користувача

Щойно ми змінимо власника бази даних, користувача можна буде видалити

PostgreSQL Видалення користувача

Чит лист

Ось важливі команди

Команди Опис
CREATE USER [user]
Команда для створення користувача
ALTER USER role_specification
Зміна існуючих дозволів користувача
ALTER USER [user]
Revотримання дозволів
ALTER USER [user name] WITH SUPERUSER
Призначення дозволу
DROP USER [user]
Команда для видалення користувача

Поширені запитання

У оболонці psql виконайте команду \du, щоб отримати список усіх ролей та їхніх атрибутів. Ви також можете запросити системний каталог за допомогою SELECT rolname FROM pg_roles, щоб отримати ту саму інформацію програмно.

Використайте ALTER USER, наприклад ALTER USER mytest WITH PASSWORD 'newpassword'. Зміна набуває чинності негайно. Паролі зберігаються в зашифрованому вигляді, і лише суперкористувачі або сам користувач можуть їх змінити.

In PostgreSQLКористувачі та ролі — це один і той самий об'єкт. CREATE USER створює роль, яка може входити в систему за замовчуванням, тоді як CREATE ROLE створює роль, яка не може входити в систему, якщо не додати атрибут LOGIN.

Штучний інтелект може генерувати оператори CREATE USER, GRANT та ALTER USER на основі простого опису потрібного вам доступу та пояснювати кожен привілей. Це допомагає вам застосовувати найменші привілеї безпеки без запам'ятовування синтаксису.

Так. Штучний інтелект може пропонувати детальні команди GRANT, які надають лише необхідні привілеї, застерігати від надання широкого доступу суперкористувача та рекомендувати використовувати ролі для групування дозволів для легшого та безпечнішого керування.

Підсумуйте цей пост за допомогою: