postgres : 수퍼 유저로 사용자를 업그레이드 하시겠습니까?


643

postgres에서 기존 사용자를 수퍼 유저로 변경하려면 어떻게해야합니까? 여러 가지 이유로 기존 사용자를 삭제하고 싶지 않습니다.

# alter user myuser ...?

답변:


1261
ALTER USER myuser WITH SUPERUSER;

자세한 내용은 설명서를 참조하십시오


157
반대 작업은 ALTER USER myuser WITH NOSUPERUSER
d.raev

2
내 사용자가 현재 슈퍼 유저인지 어떻게 알 수 있습니까?
masterweily

20
SELECT rolname, rolsuper FROM pg_roles;@masterweily
caulfield에

6
오류 : 수퍼 유저가 변경되어야 슈퍼 유저 여야 함
Stepan Yakovenko

15
@masterweily \du모든 사용자 / 역할을 나열 할 수 있습니다 .
XåpplI'-I0llwlg'I-

63

위를 확장하고 빠른 참조를하려면 :

  • 사용자를 슈퍼 유저로 만들려면 ALTER USER username WITH SUPERUSER;
  • 더 이상 수퍼 유저가 아닌 사용자를 만들려면 : ALTER USER username WITH NOSUPERUSER;
  • 사용자가 데이터베이스를 만들 수있게하려면 ALTER USER username CREATEDB;

또한 슈퍼 유저가 아닌 사용자 권한을 사용 CREATEROLE하고 CREATEUSER허용 할 수 있습니다 .

선적 서류 비치


27

$ su - postgres
$ psql
$ \du;db 사용자를 보려면
수퍼 유저가 될 사용자를 선택하고
$ ALTER USER "user" with superuser;


이 경우에는 사용자 이름을 ALTER USER "user" WITH SUPERUSER;
쉼표

9

이 명령을 실행

alter user myuser with superuser;

사용자가 다음 명령을 실행할 수있는 권한을 보려면

\du

8

때때로 수퍼 유저로 업그레이드하는 것이 좋은 옵션이 아닐 수도 있습니다. 수퍼 유저와는 별도로 사용할 수있는 다른 옵션이 많이 있습니다. 터미널을 열고 다음을 입력하십시오.

$ 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';

4

귀하 의 경우를 위해 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';"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.