programing

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

bestprogram 2023. 4. 27. 22:51

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

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

# alter user myuser ...?
ALTER USER myuser WITH SUPERUSER;

ALTER USER 설명서에서 더 자세히 읽을 수 있습니다.

위의 내용을 확장하고 빠른 참조를 하려면 다음과 같이 하십시오.

  • 사용자를 수퍼유저로 만드는 방법ALTER USER username WITH SUPERUSER;
  • 사용자를 더 이상 수퍼유저로 만들지 않으려면:ALTER USER username WITH NOSUPERUSER;
  • 사용자가 데이터베이스를 작성할 수 있도록 허용하는 방법 ALTER USER username CREATEDB;

사용할 수도 있습니다.CREATEROLE그리고.CREATEUSER슈퍼유저로 만들지 않고 사용자 권한을 허용합니다.

문서화

$su - postgres
$psql
$\du;DB에 있는 사용자를 참조하십시오.
Superuser로 사용할 사용자를 선택하고 다음을 수행합니다.
$ALTER USER "user" with superuser;

때로는 슈퍼 유저로 업그레이드하는 것이 좋지 않을 수도 있습니다.따라서 슈퍼 유저 외에도 사용할 수 있는 다른 옵션이 많이 있습니다.터미널을 열고 다음을 입력합니다.

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

이 명령 실행

alter user myuser with superuser;

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

\du

다음을 생성할 수 있습니다.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 username superuser;

Amazon Redshift를 사용하고 있기 때문에 이 값에 도달한 경우 할당할 수 없습니다.SUPERUSER

ALTER USER <username> SUPERUSER;

대신 할당CREATEUSER:

ALTER USER <username> CREATEUSER;

보아하니,SUPERUSERAmazon Redshift 클러스터에서 사용 가능한 사용자 할당이 아닙니다.나는 이것 때문에 완전히 혼란스럽습니다.

https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html

다음을 보여주는 스크린샷:

언급URL : https://stackoverflow.com/questions/10757431/postgres-upgrade-a-user-to-be-a-superuser