Как да създадете потребител в PostgreSQL (Postgres) Използване на PgAdmin
В този урок ще научите
- PostgreSQL Създайте потребител в PgAdmin
- PostgreSQL Създаване на потребителски SQLShell (Команден ред)
- Добавете съществуващ потребител към база данни
- PostgreSQL USER се актуализира
- PostgreSQL Изтриване на потребител
- Cheat Sheet
Как се създава PostgreSQL Потребител в PgAdmin
Следва стъпка по стъпка процес за създаване на потребител PostgreSQL PgAdmin:
Стъпка 1) Щракнете с десния бутон върху Вход
В първата стъпка щракнете с десния бутон върху Роля на група за вход -> Създаване -> Щракнете върху Роля на група за вход...
Стъпка 2) Създайте роля за влизане/група
Сега въведете името за вход
Стъпка 3) Кликнете върху Дефиниция и въведете подробности
- Въведете паролата
- Дата на изтичане на акаунта
Стъпка 4) Секцията за привилегии
- Toggle Можете да влезете на ДА
- Toggle Суперпотребител на ДА
Стъпка 5) - SQL раздел
- Ще видите SQL заявката за създаване на потребител според избора, направен в предишните стъпки
- Щракнете върху бутона Запазване
Стъпка 6) Ролята е създадена
Сега ролята се отразява в дървото на обектите.
Стъпка 7) Създаване на База данни
Сега присвоете собственик myguru към него, както е показано по-долу в примера за създаване на потребител Postgres.
Стъпка 8) Командният ред
Сега можете да видите, че собственикът е myguru.
PostgreSQL Създаване на потребителски SQLShell (Команден ред)
Можете да създадете потребител, като използвате командата от командния ред
СЪЗДАЙТЕ ПОТРЕБИТЕЛ
Този метод за създаване на потребител с парола в Postgres е по-удобен за програмисти и администратори, тъй като те имат достъп до конзолата на PostgreSQL сървър. Освен това те се нуждаят от създаване на потребители на Postgres и изпълнение с една команда вместо влизане и използване на интерфейса на PostgreSQL клиент.
Синтаксис:
CREATE USER name WITH option where 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) Създаваме суперпотребител, валиден до 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';
Стъпка 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;
Revполучаване на разрешения
Трябва да използвате тази команда, когато направите грешка и грешно зададете разрешение, което може да искате да отмените. Можете да използвате командата ALTER USER без префикс преди разрешителните опции.
Например, можем да премахнем статуса SUPERUSER от mytest като:
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
Пример:
- Акаунтът „myguru“ е собственик на база данни „demoDB“.
- Въведете команда DROP USER myguru
- Показва се грешка
След като променим собственика на базата данни, потребителят може да бъде изтрит
Cheat Sheet
Ето важни команди
Команди | Descriptйон |
---|---|
CREATE USER [user] |
Команда за създаване на потребител |
ALTER USER role_specification |
Промяна на съществуващи потребителски разрешения |
ALTER USER [user] |
Revполучаване на разрешения |
ALTER USER [user name] WITH SUPERUSER |
Предоставяне на разрешение |
DROP USER [user] |
Команда за изтриване на потребител |