반응형
사용자 생성
내가 가장 많이 사용하는 사용자 생성 방법.
CREATE USER <사용자명> [WITH [ENCRYPTED] PASSWORD <패스워드>];
-- 예시
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
superuser로 생성
잘 쓰지 않지만, 간혹 쓸 일이 있다. 사실상 localhost에서만 사용하는데, AWS같은 클라우드 DB 인스턴스에서 보통은 동작하지 않기 때문.
CREATE USER <사용자명> WITH SUPERUSER PASSWORD <패스워드>;
-- 예시
CREATE USER myuser WITH SUPERUSER PASSWORD 'mypassword';
권한 부여
특정 DB에 모든 권한 부여
아래와 같은 명령일 것 같지만, 아래 명령은 의도대로 동작하지 않는다.CREATE TABLE
시, Permission denied
를 목격할 수 있음.
GRANT ALL PRIVILEGES ON DATABASE <데이터베이스명> TO <사용자명>;
원인
위 명령은 DB 내, DML에 대한 권한 부여가 아니기 때문이다.
자세한 내용은 여기를 참조
적절한 권한 부여 방법
ALTER DATABASE <데이터베이스명> OWNER TO <사용자명>;
-- 예시
ALTER DATABASE mydb OWNER TO myuser;
이 외의 방법도 있긴 하나, 나는 잘 쓰지 않는다. 실무에서도 딱히 쓸일이 없기 때문.
묶어서 한방에 사용하기
CREATE USER myuser WITH SUPERUSER PASSWORD 'mypassword';
CREATE DATABASE mydb;
ALTER DATABASE mydb OWNER TO myuser;
-- 근데 보통 DB명과 사용자명은 통일하는 게 사용성이 좋다. 위는 예시
반응형
'IT' 카테고리의 다른 글
Rust Quick Start - Hello, World! (0) | 2023.02.15 |
---|---|
Nest.js와 TypeORM 그리고 Prisma ORM (4) | 2023.01.29 |
Typia(이전 명칭: TSON) 사용 후기 (1) | 2022.12.15 |
Node Engine 수정하기 (0) | 2022.12.10 |
Android emulator에서 Push notification이 수신되지 않을 때 (0) | 2022.12.04 |