Odpowiedzi:
ALTER USER myuser WITH SUPERUSER;
Możesz przeczytać więcej w Dokumentacji
SELECT rolname, rolsuper FROM pg_roles;
do @masterweily
\du
aby wyświetlić listę wszystkich użytkowników / ról.
Aby rozwinąć powyższe i zrobić szybkie odniesienie:
ALTER USER username WITH SUPERUSER;
ALTER USER username WITH NOSUPERUSER;
ALTER USER username CREATEDB;
Możesz także użyć CREATEROLE
i, CREATEUSER
aby zezwolić użytkownikowi na uprawnienia, nie czyniąc go superużytkownikiem.
$ su - postgres
$ psql
$ \du;
za zobacz użytkownika na db
wybierz użytkownika, który chcesz być superużytkownikiem i:
$ ALTER USER "user" with superuser;
ALTER USER "user" WITH SUPERUSER;
Uruchom to polecenie
alter user myuser with superuser;
Jeśli chcesz zobaczyć uprawnienia użytkownika, uruchom następujące polecenie
\du
Czasami uaktualnienie do superużytkownika może nie być dobrym rozwiązaniem. Więc oprócz superużytkownika istnieje wiele innych opcji, z których możesz skorzystać. Otwórz terminal i wpisz następujące polecenie:
$ 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
Wymienia również listę opcji
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'
W wierszu poleceń będzie to wyglądać
postgres=# ALTER USER my_user WITH LOGIN
LUB użyj zaszyfrowanego hasła.
postgres=# ALTER USER my_user WITH ENCRYPTED PASSWORD '5d41402abc4b2a76b9719d911017c592';
LUB odwołaj uprawnienia po określonym czasie.
postgres=# ALTER USER my_user WITH VALID UNTIL '2019-12-29 19:09:00';
Możesz utworzyć SUPERUSER
lub promować USER
, więc w swoim przypadku
$ sudo -u postgres psql -c "ALTER USER myuser WITH SUPERUSER;"
lub wycofać
$ sudo -u postgres psql -c "ALTER USER myuser WITH NOSUPERUSER;"
Aby uniemożliwić rejestrowanie polecenia po ustawieniu hasła, wstaw przed nim biały znak, ale sprawdź, czy system obsługuje tę opcję.
$ 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