Postgress에서 특정 사용자에게 특정 정보를 표시하는 방법

1485 단어 postgres
우선, 우리는 보기를 정의해야 한다. 보기는 조회를 저장하는 데이터베이스 대상이다.PostgreSQL에서 보기는 가상 테이블로 액세스할 수 있습니다.다시 말하면 PostgreSQL 보기는 논리표로 SELECT 문장을 통해 하나 이상의 기초표의 데이터를 나타낸다.
이 예에서 우리는 학생들이 그들의 과목의 성적을 볼 수 있도록 허락할 것이지만 우리는 그들이 학우의 성적을 볼 수 있기를 원하지 않는다. 따라서 우리는 그 중에서 조건이 로그인한 사용자를 검증하는 보기를 구축할 것이다.
CREATE VIEW student_view AS
select e.code, e.name, i.code_subject , s.name_subject , i.n1 , i.n2, i.n3 
, ((coalesce(n1, 0))*.35+(coalesce(n2, 0))*.35+(coalesce(n3, 0))*.30) finalNote
from suscribe i
natural join student e 
natural join subject s
where cod_e::text = current_user
다음에 우리는 이전에 만든 보기의 정보를 볼 수 있는 권한만 가진 그룹 역할을 정의해야 한다.
CREATE ROLE students;

GRANT SELECT ON student_view TO students;
마지막 단계는 로그인을 사용하여 우리 학생들을 만든 사용자에게 그룹 학생 권한을 부여하는 것입니다.
CREATE ROLE "200001"
LOGIN 
PASSWORD '200001';

GRANT students TO "200001";
200001 사용자가 데이터베이스에 로그인하면 예시와 같이 보기의 정보만 표시됩니다.

마지막으로 저는 여러분께 추천DBeaver의 사용자는 무료 멀티플랫폼 데이터베이스 도구로 데이터베이스 관리자가 사용할 수 있고 PostgreSQL을 통해 매우 간단한 방식(pgAdmin 4보다 간단)으로 서로 다른 사용자와 같은 데이터베이스에 연결할 수 있습니다.
읽어주셔서 감사합니다. 이 정보들이 당신에게 도움이 되었으면 좋겠습니다!!

좋은 웹페이지 즐겨찾기