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

식빵·2024년 1월 25일
0

postgresql-memo

목록 보기
33/36

방법

-- 임시 사용자 생성
create user <사용자 명> with password '<비밀번호>';

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

-- 스키마 내의 테이블 생성 및 사용 허용
GRANT CREATE, USAGE ON SCHEMA <스키마 명> TO <사용자 명>;

-- 현재 <스키마 명>에 존재하는 테이블에 대한 권한 설정
GRANT ALL ON ALL TABLES IN SCHEMA <스키마 명> TO <사용자 명>;

-- 미래에 생성될 테이블에 대한 권한 설정
ALTER DEFAULT PRIVILEGES FOR ROLE <사용자 명> IN SCHEMA <스키마명>
GRANT ALL ON TABLES TO <사용자 명>;

-- 참고: 조금 상세하게 지정하고 싶으면 아래처럼하세요
-- ALTER DEFAULT PRIVILEGES FOR ROLE <사용자 명> IN SCHEMA <스키마명>
-- GRANT SELECT, DELETE, UPDATE, INSERT, REFERENCES, TRIGGER, TRUNCATE
-- ON TABLES TO <사용자 명>;


-- 이외에도 시퀀스에 대한 권한 설정
GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES 
	IN SCHEMA <스키마 명>
    TO <사용자 명>;

ALTER DEFAULT PRIVILEGES FOR ROLE <사용자 명> IN SCHEMA <스키마 명>
GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO <사용자 명>;
  • 테이블, 시퀀스 외에도 권한을 설정할 수 있는 Object 는 다양합니다.
  • 궁금하시면 이 링크를 참조하세요.

참고링크:

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

0개의 댓글