Postgres: обновить пользователя, чтобы стать суперпользователем?

В postgres, как мне изменить существующего пользователя как суперпользователя? Я не хочу удалять существующего пользователя по разным причинам.

# alter user myuser ...?
+589
25 мая '12 в 15:43
источник поделиться
7 ответов
ALTER USER myuser WITH SUPERUSER;

Документы.

+1159
25 мая '12 в 15:46
источник

Чтобы развернуть это выше и сделать краткую ссылку:

  • Чтобы сделать пользователя суперпользователем: ALTER USER username WITH SUPERUSER;
  • Чтобы пользователь больше не являлся суперпользователем: ALTER USER username WITH NOSUPERUSER;
  • Чтобы позволить пользователю создать базу данных: ALTER USER username CREATEDB;

Вы также можете использовать CREATEROLE и CREATEUSER, чтобы разрешить пользователям привилегии, не делая их суперпользователем.

Документация

+59
23 сент. '15 в 10:36
источник

$su - postgres
$ psql
$ \du; для просмотра пользователя на db
выберите пользователя, который вы хотите быть суперпользователем, и:
$ ALTER USER "user" with superuser;

+21
07 нояб. '16 в 16:57
источник

Запустите эту команду

alter user myuser with superuser;

Если вы хотите увидеть, что разрешение для пользователя выполнило следующую команду

\du
+8
08 мая '17 в 15:48
источник

Может быть, иногда обновление до суперпользователя не может быть хорошим вариантом. Так что кроме супер пользователя есть много других опций, которые вы можете использовать. Откройте свой терминал и введите следующее:

$ 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';
+6
27 авг. '18 в 15:15
источник

изменить пользовательское имя пользователя суперпользователя;

+3
12 нояб. '17 в 10:38
источник

Вы можете создать SUPERUSER или продвигать USER
Чтобы предотвратить запись команды, вставьте перед ней пробел, но убедитесь, что ваша система поддерживает эту опцию.

$  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';"
0
03 апр. '19 в 8:14
источник

Посмотрите другие вопросы по меткам или Задайте вопрос