CREATE USER
CREATE USER
데이터베이스에 로그인해서 작업할 사용자를 만들 때 쓰는 명령이에요. CREATE USER는 사실 이제 CREATE ROLE의 별칭이에요. 유일한 차이는 명령을 CREATE USER로 쓸 때 기본적으로 LOGIN이 가정된다는 거예요. 반면 CREATE ROLE로 쓰면 NOLOGIN이 가정돼요. 사용자 이름과 역할을 만들어 접속 권한을 주느냐, 역할로만 두느냐의 차이죠.
사용자 만들기는 역할(role) 만들기의 일부로 생각하면 이해하기 쉬워요. PostgreSQL에서 사용자는 로그인 권한이 있는 역할일 뿐이니까요.
출처: PostgreSQL 문서
본문
Synopsis
CREATE USER name [ [ WITH ] option [ ... ] ]
where option can be:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
Description
CREATE USER는 이제 CREATE ROLE의 별칭이에요. 유일한 차이는 명령을 CREATE USER로 쓸 때 기본적으로 LOGIN이 가정된다는 거고, CREATE ROLE로 쓸 때는 NOLOGIN이 가정된다는 거예요.
Compatibility
CREATE USER 문은 PostgreSQL 확장 기능이에요. SQL 표준은 사용자의 정의를 구현에 맡겨요.
더 알아보기 (Learn more)
CREATE ROLE—CREATE USER의 실제 동작을 정의하는 역할 생성 명령이에요.ALTER USER— 사용자의 속성을 바꿀 때 써요.DROP USER— 사용자를 삭제할 때 써요.- Database Roles — 데이터베이스 역할을 다루는 21장이에요.