빈쿵바라기
좌충우돌 개발자의 기록
빈쿵바라기
전체 방문자
오늘
어제
  • 분류 전체보기 (53)
    • Programming (25)
      • JAVA (12)
      • Spring Boot (6)
      • JPA (7)
      • Python (0)
    • Database (12)
      • RDBMS (4)
      • NoSQL (7)
    • Server (11)
    • Elasticsearch (3)
    • ETC (2)

블로그 메뉴

    공지사항

    인기 글

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    빈쿵바라기

    좌충우돌 개발자의 기록

    Database/RDBMS

    [PostgreSQL] 읽기 전용 유저 생성

    2023. 4. 27. 17:32

    특정 데이터베이스의 특정 스키마에 대한 읽기 전용 유저 생성 방법

     

    1. PostgreSQL 접속

    $ psql -U postgres

     

    2. 유저 생성

    create user <계정명> with password '<비밀번호>';

     

    3. 해당 데이터베이스 접속

    \c db_1;

     

    4. 해당 스키마에 대한 USAGE 권한을 부여

    GRANT USAGE ON SCHEMA schema_1 TO <계정명>;

     

    5. 해당 스키마의 모든 테이블에 대한 SELECT 권한을 부여

    GRANT SELECT ON ALL TABLES IN SCHEMA schema_1 TO <계정명>;

     

    5-1. 필요한 경우 시퀀스에 대한 SELECT 권한을 부여

    GRANT SELECT ON ALL SEQUENCES IN SCHEMA schema_1 TO <계정명>;

     

    6. 권한 조회

    테이블 권한 조회

    select * from information_schema.role_table_grants where grantee = '<계정명>';
    
    - Grantor :  권한을 부여한 role
    - Grantee :  권한을 부여받은 role
    - Table_schema : schema명
    - Table_name : table명
    - Privilege_type : 권한의 유형
    - Is_grantable :  권한을 줄 수 있을 경우 YES, 아닐 경우 NO

    스키마 권한 조회

    WITH "names"("name") AS (
      SELECT n.nspname AS "name"
        FROM pg_catalog.pg_namespace n
          WHERE n.nspname !~ '^pg_'
            AND n.nspname <> 'information_schema'
    ) SELECT "name",
      pg_catalog.has_schema_privilege('<계정명>', "name", 'CREATE') AS "create",
      pg_catalog.has_schema_privilege('<계정명>', "name", 'USAGE') AS "usage"
        FROM "names";
    저작자표시 (새창열림)

    'Database > RDBMS' 카테고리의 다른 글

    [PostgreSQL] 중복데이터 삭제 방법(중복데이터 하나만 남기고 제거)  (0) 2023.01.31
    [PostgreSQL] VIEW vs MVIEW(Materialized View)  (0) 2022.08.19
    [PostgreSQL] JSON 컬럼에 특정 값만 추출해서 Index를 걸어보자  (0) 2022.08.12
      'Database/RDBMS' 카테고리의 다른 글
      • [PostgreSQL] 중복데이터 삭제 방법(중복데이터 하나만 남기고 제거)
      • [PostgreSQL] VIEW vs MVIEW(Materialized View)
      • [PostgreSQL] JSON 컬럼에 특정 값만 추출해서 Index를 걸어보자
      빈쿵바라기
      빈쿵바라기
      삽질하는 개발자의 좌충우돌 개발기

      티스토리툴바