Как да създадете потребител в PostgreSQL Използване на PgAdmin
⚡ Умно обобщение
Създаване на потребител в PostgreSQL може да се направи визуално в pgAdmin или с командата CREATE USER в SQL Shell. След това можете да предоставите привилегии с GRANT, да промените роли с ALTER USER и да премахнете акаунти с DROP USER.

Как се създава 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 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;
ще създаде потребителски 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';
Стъпка 2) Въведете команда \du в контролния списък на потребителите
ЗАБЕЛЕЖКА: Командата 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 без префикс преди разрешителните опции.
Например, можем да премахнем статуса 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]
|
Команда за изтриване на потребител |















