728x90
안녕하세요 오랜만에 포스팅입니다. 비정기적으로 느낌이 올때만 업로드를 하다보니 오늘의 내용은 pgsqlDB에서 특정 계정에 권한을 줄 때입니다.
가끔 이 명령어가 필요한데 그 때마다 검색해서 찾으려니 귀찮아서 직접 포스팅하기로했습니다.
일단 생성된 db 에 계정을 만들고 그 계정에 특정 테이블에 대한 읽기권한을 주는 명령어는 다음과 같습니다.
1. 그냥 계정만들기
CREATE USER 유저명 WITH PASSWORD '비밀번호';
2. 슈퍼유저 권한이 들어간 계정만들기
CREATE USER 유저명 PASSWORD '비밀번호' SUPERUSER;
3. 특정 유저에게 권한을 주기 (여기서의 권한은 DB를 생성할 수 있는지 등의 좀 큰 권한)
# 유저삭제권한
ALTER USER 유저명 WITH ERATEUSER;
# db생성, 복제권한
ALTER USER 유저명 WITH CREATEDB, REPLICATION;
자세한 create role 관련 옵션은 요거를 참고하시면 좋습니다. 우리의 도큐먼트
https://postgresql.kr/docs/11/sql-createrole.html
4. 생성된 계정에 특정 테이블 접근 권한 주기
GRANT SELECT ON 테이블이름 TO "user명";
5. 모든테이블에 접근권한 주기
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO 유저명;
6. 미래에 추가될 테이블에도 자동으로 리드권한 주기
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO 유저명;
사실상 그냥 1, 4 번 정도만 알고있으면 될 거 같습니다.
그럼 수고하십쇼
반응형
'기초 공부 > 상식' 카테고리의 다른 글
ubuntu 네트워크 인터페이스 우선순위 설정 (0) | 2023.06.28 |
---|---|
ubuntu disk 용량이 꽉찼을 때 (nohup 및 프로세스관련) (0) | 2022.11.16 |
Docker MYSQL 컨테이너에서 "mbind: Operation not permitted" 해결 (0) | 2021.07.06 |
리눅스 우분투 사용자 이름변경 및 패스워드 변경하는 법 (0) | 2021.04.07 |
리눅스 사용자 목록 확인하는 법 (0) | 2021.04.07 |