[PostgreSQL] 사용자 생성 및 DB/스키마/테이블 사용 권한주기

식빵·2024년 1월 25일
0

postgresql-memo

목록 보기
33/34

방법

-- 임시 사용자 생성
create user dailycode with password 'dailycode';

-- 사용자의 DB 접근 허용
GRANT CONNECT ON DATABASE <DB 명> TO dailycode;

-- DB 내의 스키마 생성 허용
GRANT CREATE ON SCHEMA <스키마 명> TO dailycode;

-- DB 내의 스키마 사용 허용
GRANT USAGE ON SCHEMA <스키마 명> TO dailycode;

-- DB 내의 특정 스키마(여기서는 public)에 있는 모든 테이블에 대한 동작 허용
GRANT 
	SELECT,DELETE, UPDATE, INSERT,
    REFERENCES, TRIGGER, TRUNCATE ON ALL TABLES 
IN SCHEMA <스키마 명>
TO dailycode;

-- 보충: 위처럼 테이블에 대한 동작을 모두 허용하는 거라면 아래처럼 할 수도 있습니다.
-- GRANT ALL ON ALL TABLES IN SCHEMA <스키마 명> TO dailycode;

-- 보충: 스키마 생성과 동시에 Owner 를 지정하는 법은 아래와 같습니다.
-- CREATE SCHEMA <스키마 명> AUTHORIZATION <사용자 명>

-- 보충: 테이블 스페이스 생성 및 Owner 지정
-- create tablespace <테이블스페이스 명> owner <사용자 명> 
--        location '파일시스템 상의 경로'


-- 테이블에서 시퀀스를 사용하면 그에 대한 사용, 조회도 허용해야 합니다.
grant usage, select on all sequences in schema <스키마 명> TO <사용자 명>;

참고 링크

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

0개의 댓글