2016-07-26 1 views
0

내 시나리오에서 사용자는 데이터베이스의 소유자이고 그 안에있는 것은 무엇이든지간에/그 사람이 완전히 액세스 할 수 있어야합니다./그녀. 하지만 나는 사용자가 자신의 데이터베이스 밖에서 어떤 것에도 접근하기를 원하지 않는다.개체에 대한 액세스 권한을 데이터베이스에 부여하는 방법은 추후에 추가됩니다.

내가 언급 한 것처럼 데이터베이스의 구조는 시간이 지나면 바뀔 것이므로 나는 추가 된 각 테이블/스키마/기능에 대한 권한을 재설정하지 않는 것을 선호한다.

어떻게하면 PostgreSQL에서 그러한 권한을 부여 할 수 있습니까?

+3

당신은'ALTER DEFAULT PRIVILEGES'을 찾고 있습니다. https://www.postgresql.org/docs/current/static/sql-alterdefaultprivileges.html –

+0

@a_horse_with_no_name 답변으로 올리시겠습니까? 가능하면 기존 데이터베이스에 모든 권한을 부여하는 방법을 설명하고 마지막 개체까지 (깊은 권한 부여 !?). 감사. – Mehran

답변

0

저는 여러분이 가장 잘 대답하는 것은 실제로 기본적으로 소유자가 모든 데이터베이스 객체에 대한 권한을 항상 부여하거나 취소 할 수 있다고 생각합니다. 따라서 모든 테이블이 데이터베이스 소유자에 의해 소유 된 경우 기본적으로 해당 테이블에 대한 모든 액세스 권한을 갖지만 다른 테이블은 그렇지 않을 수 있습니다. 소유자는 권한도 지정할 수 있습니다. 따라서 모든 테이블이 해당 사용자에 의해 생성되고 아무런 문제가 없는지 확인하십시오. 다른 테이블의 경우 나중에 ALTER TABLE을 사용하여 소유자를 변경할 수 있습니다.

어쨌든, 선들 사이에서 읽는 것은 당신이 묻고있는 것과 같습니다. ALTER DEFAULT PRIVILEGES도 작동하지만 부여하려는 역할을 주어진 테이블의 소유자가 잠글 수 있습니다.