Створити користувача в PostgreSQL: Як додати, Alt & Видалити USER?

Зміст:

Anonim

У цьому підручнику ви дізнаєтесь

  • PostgreSQL Створити користувача в PgAdmin
  • PostgreSQL Створення користувацької оболонки SQLShell (Командний рядок)
  • Додайте існуючого користувача до бази даних
  • PostgreSQL Оновлення USER
  • PostgreSQL Видалення користувача
  • Шпаргалку

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

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

Крок 1) Клацніть правою кнопкою миші на Увійти / Роль групи -> Створити -> Клацніть на Вхід / Роль групи

...

Крок 2) Введіть ім'я для входу

Крок 3) На панелі визначення

  1. Введіть пароль
  2. Термін дії рахунку

Крок 4) У розділі привілеїв

  1. Переключіть кнопку «Увійти» у ТАК
  2. Переключіть суперкористувача на ТАК

Крок 5) У розділі SQL

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

Крок 6) Роль створюється і відображається у дереві об’єктів

Крок 7) Створіть базу даних і призначте їй власника myguru, як показано нижче, на прикладі створення користувача Postgres

Крок 8) У командному рядку ви можете побачити власника "myguru"

PostgreSQL Створення користувацької оболонки SQLShell (Командний рядок)

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

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

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

Syntax:CREATE USER name WITH optionwhere the option can be:|SUPERUSER | NOSUPERUSER| CREATEROLE | NOCREATEROLE| CREATEDB | NOCREATEDB| INHERIT | NOINHERIT| LOGIN | NOLOGIN| REPLICATION | NOREPLICATION| BYPASSRLS | NOBYPASSRLS| CONNECTION LIMIT| ( ENCRYPTED ] PASSWORD 'password.'| VALID UNTIL 'timestamp1| IN ROLE role_name [,… J| IN GROUP role_name [,… ]| ROLE role_name [,… ]| ADMIN role_name [,… )| USER role_name [,… ]| SYSID uid

Приклад:

CREATE USER tom;

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

CREATE USER tom WITH SUPERUSER;

Створить тома користувача з привілеями суперкористувача. Давайте подивимось на наступний приклад.

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

CREATE USER mytest WITHLOGINSUPERUSERCREATEDBCREATEROLEINHERITNOREPLICATIONCONNECTION LIMIT -1VALID UNTIL '2025-04-03T11:50:38+05:30'PASSWORD '123456';

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

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

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

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

Наприклад, ми надаємо користувачеві "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;

Відкликання дозволів

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

Наприклад, ми можемо видалити статус SUPERUSER з мого тесту, наприклад:

ALTER USER mytest WITH NOSUPERUSER;

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

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

Ви можете використовувати дозвіл користувача 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. Показана помилка

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

Шпаргалку

Тут є важливі команди

Команди Опис
CREATE USER [user]

Команда для створення користувача

ALTER USER role_specification

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

ALTER USER [user]

Відкликання дозволів

ALTER USER [user name] WITH SUPERUSER

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

DROP USER [user]

Команда для видалення користувача