Ответы:
ALTER USER myuser WITH SUPERUSER;
Вы можете прочитать больше в документации
SELECT rolname, rolsuper FROM pg_roles;
@masterweily
\du
список всех пользователей / ролей.
Чтобы расширить вышесказанное и сделать быструю ссылку:
ALTER USER username WITH SUPERUSER;
ALTER USER username WITH NOSUPERUSER;
ALTER USER username CREATEDB;
Вы также можете использовать CREATEROLE
и CREATEUSER
разрешить пользователю привилегии, не делая их суперпользователем.
$ su - postgres
$ psql
$, \du;
чтобы увидеть пользователя на БД,
выберите пользователя, который вы хотите быть суперпользователем и:
$ ALTER USER "user" with superuser;
ALTER USER "user" WITH SUPERUSER;
Запустите эту команду
alter user myuser with superuser;
Если вы хотите увидеть разрешение для пользователя, выполните следующую команду
\du
Может быть, иногда обновление до суперпользователя не может быть хорошим вариантом. Так что кроме супер пользователя есть много других опций, которые вы можете использовать. Откройте свой терминал и введите следующее:
$ sudo su - postgres
[sudo] password for user: (type your password here)
$ psql
postgres@user:~$ psql
psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1))
Type "help" for help.
postgres=# ALTER USER my_user WITH option
Также перечисление списка вариантов
SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE |
CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION|
NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit |
[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp'
Так что в командной строке это будет выглядеть
postgres=# ALTER USER my_user WITH LOGIN
ИЛИ использовать зашифрованный пароль.
postgres=# ALTER USER my_user WITH ENCRYPTED PASSWORD '5d41402abc4b2a76b9719d911017c592';
ИЛИ отозвать разрешения через определенное время.
postgres=# ALTER USER my_user WITH VALID UNTIL '2019-12-29 19:09:00';
Вы можете создать SUPERUSER
или продвинуть USER
, так что для вашего случая
$ sudo -u postgres psql -c "ALTER USER myuser WITH SUPERUSER;"
или откат
$ sudo -u postgres psql -c "ALTER USER myuser WITH NOSUPERUSER;"
Чтобы команда не регистрировала журнал при установке пароля, вставьте перед ним пробел, но убедитесь, что ваша система поддерживает этот параметр.
$ sudo -u postgres psql -c "CREATE USER my_user WITH PASSWORD 'my_pass';"
$ sudo -u postgres psql -c "CREATE USER my_user WITH SUPERUSER PASSWORD 'my_pass';"
ALTER USER myuser WITH NOSUPERUSER