부여 선택 | 삽입 | 업데이트 | 삭제 | 자르기 | 참고자료 | 트리거
[, ...] | 전체 [ 권한 ]
켜짐 [ 표 ]테이블_이름[, ...]
| 스키마의 모든 테이블schema_name[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 선택 | 삽입 | 업데이트 | 참조 (컬럼_이름[, ...] )
[, ...] | 모든 [ 윈 토토 ] (컬럼_이름[, ...] )
사용 [표]테이블_이름[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 사용 | 선택 | 업데이트
[, ...] | 전체 [ 권한 ]
켜짐 순서시퀀스_이름[, ...]
| 스키마의 모든 시퀀스schema_name[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 생성 | 연결 | 임시 | 온도 [, ...] | 전체 [ 권한 ]
데이터베이스에서데이터베이스_이름[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 사용 | 전체 [ 권한 ]
도메인에서도메인_이름[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 사용 | 전체 [ 권한 ]
외부 데이터 래퍼에 대해fdw_name[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 사용 | 전체 [ 권한 ]
외국 서버에서서버_이름[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 실행 | 전체 [ 권한 ]
기능 사용함수_이름 ( [ [ argmode ] [ arg_name ] arg_type[, ...] ] ) [, ...]
| 스키마의 모든 기능schema_name[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 사용 | 전체 [ 권한 ]
언어에 대해lang_name[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 선택 | 업데이트 [, ...] | 전체 [ 권한 ]
큰 물체에 대해로이드[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 생성 | 사용법 [, ...] | 전체 [ 권한 ]
스키마에서schema_name[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 생성 | 전체 [ 권한 ]
테이블스페이스에서테이블스페이스_이름[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여 사용 | 전체 [ 권한 ]
유형에 따라유형_이름[, ...]
[ 그룹 ]에역할_이름| 공개 [, ...] [ 부여 옵션 포함 ]
부여역할_이름[, ...] TO역할_이름[, ...] [ 관리자 옵션 사용 ]그그랜트명령에는 두 가지 기본이 있습니다. 변형: 데이터베이스 객체(테이블, 열, 뷰, 외부 테이블, 시퀀스, 데이터베이스, 외부 데이터 래퍼, 외부 서버, 함수, 절차적 언어, 스키마 또는 테이블스페이스) 및 역할에 멤버십을 부여하는 것입니다. 이것들 변형은 여러 면에서 유사하지만 충분히 다릅니다. 별도로 설명하겠습니다.
이 변형은그랜트명령은 다음과 같습니다 데이터베이스 개체에 대한 특정 권한을 하나 이상의 역할에 부여합니다. 이러한 권한은 이미 부여된 권한에 추가됩니다(있는 경우).
또한 다음의 모든 개체에 대한 권한을 부여하는 옵션도 있습니다. 하나 이상의 스키마 내에서 동일한 유형입니다. 이 기능은 현재는 테이블, 시퀀스, 함수에 대해서만 지원됩니다(그러나 참고하세요모든 테이블다음으로 간주됩니다. 뷰 및 외부 테이블 포함).
핵심 단어공개다음을 나타냅니다. 권한은 다음을 포함하여 모든 역할에 부여됩니다. 나중에 생성될 수 있습니다.공개될 수 있습니다 항상 모든 항목을 포함하는 암묵적으로 정의된 그룹으로 간주됩니다. 역할. 특정 역할에는 부여된 권한의 합계가 있습니다. 현재 역할에 부여된 권한 회원 및 부여된 권한공개.
만약부여 옵션 포함이 지정되었으며, 특권을 받은 사람은 이를 다른 사람에게 부여할 수 있습니다. 없이 부여 옵션이 있는 경우 수신자는 그렇게 할 수 없습니다. 보조금 옵션은 다음과 같습니다. 허가를 받다공개.
객체 소유자에게 권한을 부여할 필요가 없습니다. (보통 그것을 생성한 사용자), 소유자는 모든 윈 토토을 가지고 있으므로 기본적으로. (그러나 소유자는 자신의 일부를 취소하기로 선택할 수 있습니다. 안전을 위해 자신의 특권을 갖고 있습니다.)
객체를 삭제하거나 객체의 정의를 변경할 수 있는 권리 방법은 부여 가능한 특권으로 취급되지 않습니다. 그것은 본질적으로 소유자이며 부여하거나 취소할 수 없습니다. (그러나 비슷한 효과는 해당 역할의 멤버십을 부여하거나 취소함으로써 얻을 수 있습니다. 객체를 소유합니다. 아래를 참조하세요.) 소유자는 암시적으로 모든 윈 토토을 갖습니다. 객체에 대한 옵션도 마찬가지입니다.
윈 토토은 일부 객체 유형에 대한 기본 권한을 다음에 부여합니다.공개. 권한이 부여되지 않습니다.공개기본적으로 테이블, 테이블 열, 시퀀스, 외부 데이터 래퍼, 외부 서버, 대형 객체, 스키마 또는 테이블스페이스. 다른 유형의 객체에 대해서는 기본 권한이 부여됨공개있습니다 다음과 같이:연결그리고임시(임시 테이블 생성) 권한 데이터베이스;실행다음에 대한 권한 기능; 그리고사용특권 언어 및 데이터 유형(도메인 포함). 객체 소유자는 다음을 수행할 수 있습니다. 물론이죠,취소기본값과 명시적으로 특권을 부여했습니다. (최대한의 보안을 위해 다음을 발행하십시오.취소같은 거래에서 객체를 생성합니다. 그러면 다른 사용자가 있는 창이 없습니다. 개체를 사용할 수 있습니다.) 또한 이러한 초기 기본 권한 설정은 다음을 사용하여 변경할 수 있습니다.기본 윈 토토 변경명령.
가능한 권한은 다음과 같습니다:
허용PostgreSQL : 문서 : 9.3 : 롤 토토모든 열에서 또는
지정된 테이블, 뷰 또는 목록의 특정 열
순서. 또한 다음을 사용할 수 있습니다.젠 토토 : 문서 : 9.3 : Copy에. 기존 컬럼을 참조하는데도 이 윈 토토이 필요합니다.
값PostgreSQL : 문서 : 9.3 : 사설 토토 사이트또는삭제. 시퀀스의 경우 이 권한도
의 사용을 허용합니다.곡선함수. 대형 객체의 경우 이 권한을 사용하면 객체를 다음과 같이 사용할 수 있습니다.
읽어보세요.
허용PostgreSQL : 문서 : 9.3 : 사설 토토 사이트새 행의 지정된 테이블. 특정 열이 나열되는 경우 해당 열만 열은에 할당될 수 있습니다.삽입명령(따라서 다른 열은 기본값을 받게 됩니다). 또한 허용합니다젠 토토 : 문서 : 9.3 : Copy발신.
허용PostgreSQL : 문서 : 9.3 : 사설 토토 사이트모든 열 또는
지정된 테이블의 나열된 특정 열. (실제로는
사소하지 않은 것업데이트명령에는 다음이 필요합니다선택권한도 있어야 합니다.
업데이트할 행을 결정하기 위해 테이블 열을 참조하거나
열의 새 값을 계산합니다.)선택 ...
업데이트용그리고선택...공유용또한 최소한 하나의 열에 대해 이 윈 토토이 필요합니다.선택특권. 시퀀스의 경우 이는
권한은 다음의 사용을 허용합니다.다음발그리고setval함수. 큰 개체의 경우 이 권한을 사용하면 쓰기 또는
개체를 자릅니다.
허용PostgreSQL : 문서 : 9.3 : 젠 토토행의 지정된 테이블. (실제로는 사소한 일이 아닙니다.삭제명령에는 다음이 필요합니다선택권한도 참조해야 하기 때문에 삭제할 행을 결정하는 테이블 열입니다.)
허용토토 핫 : 문서 : 9.3 : Truncate지정된 테이블.
외래 키 제약조건을 생성하려면 다음이 필요합니다. 참조하는 열과 참조되는 열 모두에 대한 권한입니다. 는 테이블의 모든 열에 대해 권한을 부여할 수도 있고, 특정 열.
지정된 테이블에 트리거 생성을 허용합니다. (참조PostgreSQL : 문서 : 9.3 : 스포츠 토토 만들기성명.)
데이터베이스의 경우 새 스키마가 생성될 수 있도록 허용합니다. 데이터베이스.
스키마의 경우 스키마 내에서 새 개체를 생성할 수 있습니다. 기존 개체의 이름을 바꾸려면 해당 개체를 소유해야 합니다.그리고다음에 대한 이 특권을 갖습니다. 스키마를 포함합니다.
테이블스페이스의 경우 테이블, 인덱스 및 임시 파일을 허용합니다. 테이블스페이스 내에 생성되며 데이터베이스를 생성할 수 있습니다. 테이블스페이스를 기본 테이블스페이스로 갖는 생성됩니다. (참고 이 특권을 취소해도 위치는 변경되지 않습니다. 기존 객체.)
사용자가 지정된 데이터베이스에 연결하도록 허용합니다. 이 연결 시작 시 권한을 확인합니다(확인하는 것 외에도 다음에 의해 부과된 모든 제한 사항pg_hba.conf).
지정된 테이블을 사용하는 동안 임시 테이블이 생성되도록 허용합니다. 데이터베이스.
지정된 기능의 사용과 모든 기능의 사용을 허용합니다 함수 위에 구현되는 연산자. 이것은 기능에 적용할 수 있는 유일한 권한 유형입니다. (이 구문은 집계 함수에도 작동합니다.)
절차적 언어의 경우 지정된 언어의 사용을 허용합니다. 해당 언어로 함수를 생성하기 위한 언어입니다. 이것은 절차에 적용할 수 있는 유일한 유형의 특권 언어.
스키마의 경우 지정된 항목에 포함된 객체에 대한 접근을 허용합니다. 스키마(객체 자신의 권한 요구 사항이 다음과 같다고 가정) 또한 만났습니다). 본질적으로 이를 통해 수혜자는 다음을 수행할 수 있습니다."찾아보세요"스키마 내의 개체. 이것이 없으면 권한이 있어도 여전히 개체 이름을 볼 수 있습니다. 에 의해 시스템 테이블을 쿼리합니다. 또한, 이 허가를 취소한 후에는 기존 백엔드에는 이전에 이 조회를 수행했기 때문에 이는 완전히 안전한 방법은 아닙니다. 개체 액세스를 방지합니다.
시퀀스의 경우 이 권한은 다음을 사용할 수 있도록 허용합니다.곡선그리고다음값함수.
유형 및 도메인의 경우 이 권한은 다음 유형의 사용을 허용합니다. 테이블, 함수 및 기타 스키마 생성 시 도메인 객체. (일반은 통제하지 않는다는 점에 유의하세요.)"사용법"유형의 값과 같은 유형의 쿼리에 나타납니다. 객체가 생성되는 것을 방지할 뿐입니다. 유형에 따라 다릅니다. 특권의 주요 목적은 다음과 같습니다. 어떤 사용자가 유형에 대한 종속성을 생성하는지 제어합니다. 소유자가 나중에 유형을 변경하는 것을 방지합니다.)
외부 데이터 래퍼의 경우 이 특권을 통해 피부여자는 다음을 수행할 수 있습니다. 해당 외부 데이터 래퍼를 사용하여 새 서버를 만듭니다.
서버의 경우, 이 권한을 통해 피부여자는 다음을 생성할 수 있습니다. 서버를 사용하여 외부 테이블을 생성, 변경 또는 삭제합니다. 해당 서버와 관련된 자신의 사용자 사용자 매핑.
사용 가능한 모든 윈 토토을 동시에 부여합니다.특권키워드는 선택사항입니다.윈 토토, 엄격하게 요구되지만 SQL.
다른 명령에 필요한 권한은 다음 항목에 나열되어 있습니다. 해당 명령의 참조 페이지입니다.
이 변종은그랜트명령 하나 이상의 다른 역할에 역할의 멤버십을 부여합니다. 회원 부여된 권한을 전달하기 때문에 역할이 중요합니다. 각 구성원에게 역할을 부여합니다.
만약관리자 옵션 포함이 지정되었으며, 구성원은 해당 역할의 멤버십을 다른 사람에게 부여할 수 있습니다. 해당 역할의 멤버십도 취소합니다. 관리자 옵션이 없으면 일반 사용자는 그렇게 할 수 없습니다. 역할은 보유하는 것으로 간주되지 않습니다.관리자 옵션 있음그 자체로는 그럴 수도 있지만 데이터베이스 세션 자체에서 멤버십을 부여하거나 취소합니다. 세션 사용자가 역할과 일치합니다. 데이터베이스 수퍼유저는 권한을 부여하거나 누구에게나 어떤 역할의 멤버십도 취소할 수 있습니다. 역할을 갖고 있음크리에이터롤권한은 회원 자격을 부여하거나 취소할 수 있습니다. 슈퍼유저가 아닌 모든 역할에서.
권한이 있는 경우와 달리 역할의 멤버십은 부여됨공개. 이것도 참고하세요 명령 형식은 의미 없는 단어를 허용하지 않습니다.그룹.
그젠 토토 : 문서 : 9.3 : Revoke명령은 다음과 같이 사용됩니다. 접근권한을 철회합니다.
이후포스트그레SQL8.1, 사용자와 그룹의 개념이 단일 종류로 통합되었습니다. 역할이라고 불리는 엔터티의. 따라서 더 이상 사용할 필요가 없습니다. 키워드그룹다음 여부를 식별합니다. 피부여자는 사용자 또는 그룹입니다.그룹이다 명령에는 여전히 허용되지만 의미 없는 단어입니다.
사용자가 수행할 수 있음선택, 삽입등이 해당 권한을 보유한 경우 열에 적용됩니다. 특정 열이나 전체 테이블에 대해. 부여 테이블 수준에서 권한을 부여한 다음 한 열에 대해 권한을 취소합니다. 원하는 대로 수행되지 않습니다. 테이블 수준 권한 부여는 다음과 같습니다. 열 수준 작업의 영향을 받지 않습니다.
객체의 소유자가 아닌 사람이 다음을 시도할 때그랜트객체에 대한 권한이 있으면 이 명령은 사용자에게 권한이 전혀 없으면 완전히 실패합니다. 개체. 일부 권한을 사용할 수 있는 한 명령은 계속 진행하지만 사용자에게 필요한 권한만 부여됩니다. 부여 옵션이 있습니다.모두 부여 권한허가가 없으면 양식에서 경고 메시지를 발행합니다. 옵션은 유지되며 다른 양식은 다음과 같은 경우 경고를 표시합니다. 특별히 명명된 권한에 대한 옵션을 부여합니다. 명령이 유지되지 않습니다. (원칙적으로 이 진술은 다음에 적용됩니다. 객체 소유자도 마찬가지지만 소유자는 항상 객체 소유자로 취급되므로 모든 부여 옵션을 보유하고 있으면 이러한 경우는 절대 발생하지 않습니다.)
데이터베이스 수퍼유저는 모든 데이터베이스에 접근할 수 있다는 점에 유의해야 합니다. 개체 윈 토토 설정에 관계없이 개체. 이것은 비교 가능하다 의 권리에 대하여루트Unix 시스템에서. 다음과 같이 와 함께루트, 꼭 필요한 경우를 제외하고는 수퍼유저입니다.
수퍼유저가 발행을 선택하는 경우그랜트또는취소명령, 명령은 다음과 같습니다 영향을 받은 소유자가 발행한 것처럼 수행되었습니다. 개체. 특히, 그러한 명령을 통해 부여된 권한은 개체 소유자가 권한을 부여한 것으로 보입니다. (역할의 경우 회원권은 회원권을 부여받은 것으로 보입니다. 역할 자체를 포함합니다.)
그랜트그리고취소또한 다음 역할이 아닌 역할로도 수행될 수 있습니다. 영향을 받는 개체의 소유자이지만 해당 개체를 소유한 역할의 구성원입니다. 개체이거나 권한을 보유한 역할의 구성원입니다.부여 옵션 포함객체에. 이에 이 경우 특권은 다음에 의해 부여된 것으로 기록됩니다. 실제로 객체를 소유하거나 권한을 보유한 역할부여 옵션 포함. 예를 들어 테이블t1역할이 소유함g1, 그 중 역할u1은 회원님, 그럼u1다음에 대한 권한을 부여할 수 있습니다.t1에u2하지만 해당 권한은에 의해 직접 부여된 것으로 나타납니다.g1. 역할의 다른 구성원g1나중에 취소할 수 있습니다.
역할이 실행 중인 경우부여보유하고 있는 둘 이상의 역할 멤버십을 통해 간접적으로 필요한 권한 경로에 포함된 역할이 다음과 같이 기록될지는 지정되지 않습니다. 보조금을 완료했습니다. 이러한 경우에는 다음을 사용하는 것이 가장 좋습니다.역할 설정특정 역할이 되기 위해 하고 싶다그랜트as.
테이블에 대한 권한 부여는 자동으로 확장되지 않습니다. 시퀀스를 포함하여 테이블에서 사용되는 모든 시퀀스에 대한 권한 에 묶여 있음연재열. 다음에 대한 권한 시퀀스는 별도로 설정해야 합니다.
사용psql의\dp테이블에 대한 기존 권한에 대한 정보를 얻는 명령 그리고 열. 예를 들면:
= \dp mytable
접근 권한
스키마 | 이름 | 유형 | 접근 권한 | 열 액세스 권한
---------+---------+-------+------------+-------------
공개 | 마이테이블 | 테이블 | 미리암=arwdDxt/미리암 | col1:
: =r/미리암 : miriam_rw=rw/미리암
: 관리자=arw/미리암
(1행)
다음 항목이 표시됨\dp있습니다 다음과 같이 해석됩니다:
rolename=xxxx -- 역할에 부여된 권한
=xxxx -- PUBLIC에 부여된 권한
r -- SELECT ("읽기")
w -- 업데이트("쓰기")
a -- INSERT("추가")
d -- 삭제
D -- 자르기
x -- 참조
t -- 트리거
X -- 실행
U - 사용법
C -- 생성
c -- 연결
T -- 임시
arwdDxt -- 모든 윈 토토(테이블의 경우 다른 개체에 따라 다름)
* -- 이전 권한에 대한 부여 옵션
/yyyy -- 이 권한을 부여한 역할
위의 예시 디스플레이는 사용자에게 표시됩니다.미리암테이블 생성 후마이테이블그리고 다음을 하고 있습니다:
mytable에 대한 선택을 공개로 부여합니다. GRANT SELECT, UPDATE, INSERT ON mytable TO 관리자; GRANT SELECT (col1), UPDATE (col1) ON mytable TO miriam_rw;
테이블이 아닌 개체에는 다른 개체가 있습니다.\d윈 토토을 표시할 수 있는 명령입니다.
만약에"접근 윈 토토"열은 주어진 객체에 대해 비어 있으면 객체에 기본값이 있음을 의미합니다. 권한(즉, 권한 열이 null임) 기본값 권한에는 항상 소유자에 대한 모든 윈 토토이 포함되며 다음에 대한 일부 권한을 포함합니다.공개객체 유형에 따라 위에 설명된 대로. 첫 번째부여또는취소객체에 대한 기본 윈 토토을 인스턴스화합니다(생성, 예를 들어,miriam=arwdDxt/miriam) 및 그런 다음 지정된 요청에 따라 수정합니다. 마찬가지로 항목은 다음과 같습니다. 에 표시됨"열 접근 윈 토토"만 기본이 아닌 권한이 있는 열의 경우. (참고: 이 목적을 위해,"기본 윈 토토"항상 다음을 의미합니다. 객체 유형에 대한 기본 권한이 내장되어 있습니다. 다음의 객체 권한이 다음의 영향을 받았습니다.변경 기본 윈 토토명령은 항상 의 효과를 포함하는 명시적 윈 토토 항목변경.)
소유자의 암시적 부여 옵션이 표시되어 있지 않음을 주목하세요 액세스 권한이 표시됩니다. 갑*할 것이다 부여 옵션이 명시적으로 부여된 경우에만 나타납니다. 누군가.
테이블의 모든 사용자에게 삽입 권한 부여영화:
일반인에게 영화 삽입 권한 부여;
사용자에게 사용 가능한 모든 윈 토토 부여마누엘보기 중종류:
마누엘에게 종류에 대한 모든 윈 토토을 부여합니다.
위의 내용은 다음과 같은 경우 실제로 모든 윈 토토을 부여한다는 점에 유의하십시오. 슈퍼유저 또는 소유자에 의해 실행됨종류, 다른 사람이 실행하면 다른 사람이 부여한 권한을 부여합니다. 옵션.
역할에 멤버십 부여관리자사용자에게조:
Joe에게 관리자 권한 부여;
SQL 표준에 따르면,특권키워드 in전체 윈 토토필수입니다. SQL 표준은 지원하지 않습니다 명령당 둘 이상의 개체에 대한 권한을 설정합니다.
윈 토토개체를 허용합니다 소유자는 자신의 일반적인 특권을 취소할 수 있습니다(예: 테이블) 소유자는 자신의 테이블을 취소하여 테이블을 읽기 전용으로 만들 수 있습니다.삽입, 업데이트, 삭제및잘라내기윈 토토. 에 따르면 이는 불가능합니다. SQL 표준에. 그 이유는포스트그레SQL소유자의 특권을 다음과 같이 취급합니다. 소유자가 자신에게 부여한 것입니다. 그러므로 그는 할 수 있다 그것들도 취소하세요. SQL 표준에서 소유자의 권한은 다음과 같습니다. 추정된 실체에 의해 부여됨"_시스템". 존재하지 않음"_시스템", 소유자는 할 수 없습니다 이러한 권리를 취소합니다.
SQL 표준에 따라 부여 옵션을 부여할 수 있습니다.공개; 윈 토토은 권한 부여만 지원합니다. 역할에 옵션을 부여합니다.
SQL 표준은 다음을 제공합니다.사용다른 종류의 개체에 대한 권한: 문자 집합, 데이터 정렬, 번역.
SQL 표준에서 시퀀스에는 a사용권한, 사용을 제어하는다음 값표현식입니다.
함수와 동일함다음값에
윈 토토. 시퀀스 권한선택그리고업데이트은 윈 토토 확장입니다. 는
시퀀스 적용사용법에 대한 특권곡선함수는 또한
윈 토토 확장(함수 자체도 마찬가지).
데이터베이스, 테이블스페이스, 스키마 및 언어에 대한 권한은 다음과 같습니다.윈 토토확장.