2020. 9. 6. 18:00ㆍ✅ STUDY/SQL
PostgreSQL 설치에 이어,
기본 PostgreSQL DDL 문법(USER 생성, 변경, 삭제)에 대해 알아볼게요!
pgAdmin에서 쿼리 작성 툴은 아래처럼 마우스 오른쪽 버튼을 클릭해 'Query Tool'로 실행할 수 있습니다.
USER 조회
SELECT * FROM PG_SHADOW;
위의 쿼리를 입력하면, 현재 존재하는 USER를 조회할 수 있습니다.
PostgreSQL에 SUPERUSER의 default 계정은 postgres입니다.
USER를 생성하지 않았기 때문에, 기본 USER인 postgres만 나오는 것을 알 수 있습니다.
USER 생성
CREATE USER {{NAME}} PASSWORD '{{PW}}' {{OPTION}};
위의 쿼리 문법을 이용해 USER를 생성하고, 권한을 부여해줄 수 있습니다.
{{NAME}} : USER의 이름
{{OPTION}} : 아래 목록에 있는 OPTION명 중 선택해 나열
*OPTION 목록*
OPTION 명 | OPTION 설명 |
SUPERUSER NOSUPERUSER |
해당 USER를 SUPERUSER권한을 주는 것입니다. 따로 지정하지 않을 경우 DEFAULT값으로 NOSUPERUSER가 됩니다. |
CREATEDB | NOCREATEDB |
DATABASE를 생성하는 권한을 정의합니다. CREATEDB를 선택할 경우 USER는 DATABASE를 생성할 권한이 부여됩니다. NOCREATEDB를 선택할 경우 USER는 DATABASE를 생성할 권한이 거부됩니다. NOCREATEDB값이 default값으로 설정 되어 있습니다. |
CREATEUSER NOCREATEUSER |
스스로 새로운 유저를 생성하는 권한을 부여하는 것을 정의합니다. CREATEUSER를 선택할 경우 USER를 생성할 수 있는 권한이 부여됩니다. NOCREATEUSER를 선택할 경우 USER를 생성할 권한이 거부됩니다. |
INHERIT NOINHERIT |
DATABASE의 권한을 다른 구성원들에게 상속하는 역할을 합니다. 따로 정의 되어있지 않을 경우 INHERIT 값이 default값으로 설정 되어 있습니다. |
LOGIN NOLIGIN |
USER가 LOGIN을 하는 역할을 부여한다. |
CONNECTION LIMIT connlimit | 로그인 할 때 동시연결을 지원 하는 기능으로 default값으로 -1(제한없음)로 설정 되어 있습니다. |
[ENCRYPTED | UNCRYPTED ] PASSWORD 'password' |
‘password’를 입력하고 인증이 필요 없는 경우 옵션을 생략이 가능합니다. |
예제) USER이름이 MJ이고, 비밀번호는 MJMJ2이며 SUPERUSER, CREATEDB 권한을 가지는 USER를 만들어보자.
CREATE USER MJ PASSWORD 'MJMJ2' SUPERUSER CREATEDB;
사용자 조회 sql 쿼리를 이용해 권한이 잘 들어갔는지 확인해보겠습니다.
USER 변경
* 권한 변경
ALTER USER {{NAME}} WITH {{OPTION}};
{{NAME}} : USER의 이름
{{OPTION}} : 부여하고싶은 OPTION
예제) MJ의 권한을 CREATEUSER와 REPLICATION으로 바꿔보자.
ALTER USER MJ WITH CREATEUSER REPLICATION;
* 비밀번호 변경
ALTER USER {{NAME}} WITH PASSWORD '{{NEW_PW}}';
{{NAME}} : USER의 이름
{{NEW_PW}} : 새로운 비밀번호
예제) MJ의 비밀번호를 MJMJNEW로 바꿔보자.
ALTER USER MJ WITH PASSWORD 'MJMJNEW';
* 이름 변경
ALTER USER {{NAME}} RENAME TO {{NEW_NAME}};
{{NAME}} : USER의 이름
{{NEW_NAME}} : 새로운 이름
예제) MJ의 이름을 NEWMJ로 바꿔보자.
ALTER USER MJ RENAME TO NEWMJ;
USER 삭제
사용자 삭제는 postgres 계정에서 아래의 쿼리를 이용하면, 삭제가 됩니다.
DROP USER MJ;
출처 및 참고) www.gurubee.net/lecture/2940
'✅ STUDY > SQL' 카테고리의 다른 글
[PostgreSQL] DDL - Table 조회/생성/변경/삭제 (0) | 2020.09.13 |
---|---|
[PostgreSQL] DDL - DB 조회/생성/변경/삭제 (0) | 2020.09.08 |
[윈도우] PostgreSQL 설치 + pgAdmin 4 실행 (0) | 2020.09.06 |
그룹 함수(group function) - GROUPING SETS (0) | 2020.08.30 |
그룹 함수(group function) - CUBE (0) | 2020.08.30 |