윈 토토 select | 삽입 | 업데이트 | 삭제 | 잘린 | 참조 | 방아쇠 [, ...] | 모든 [권한] on [테이블]table_name[, ...] | 스키마의 모든 테이블schema_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 select | 삽입 | 업데이트 | 참조 (column_name[, ...]) [, ...] | 모든 [권한] (column_name[, ...]) [테이블]table_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 선택 | 업데이트 [, ...] | 모든 [권한] on 시퀀스시퀀스_name[, ...] | 스키마의 모든 시퀀스Schema_Name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 create | 연결 | 임시 | 온도 [, ...] | 모든 [권한] 데이터베이스database_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] 도메인domain_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] 외국 데이터 포장지fdw_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] 외국 서버에서server_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 execute | 모든 [권한] on functionfunction_name([[argmode] [arg_name]arg_type[, ...]) [, ...] | 스키마의 모든 기능Schema_Name12501_12533role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] On Languagelang_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 select | 업데이트 [, ...] | 모든 [권한] 큰 물체에loid[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 create | usage [, ...] | 모든 [권한] 스키마Schema_Name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 윈 토토 create | 모든 [권한] 테이블 스페이스에서TableSpace_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] on typetype_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 승인하다role_name[, ...] torole_name[, ...] [관리자 옵션 포함]
the윈 토토명령에는 두 가지 기본이 있습니다 변형 : 데이터베이스 객체에 권한을 부여하는 하나 (테이블, 열,보기, 외국 테이블, 시퀀스, 데이터베이스, 외국 데이터 래퍼, 외국 서버, 기능, 절차 언어, 스키마 또는 테이블 스페이스) 및 역할의 회원 자격을 부여하는 것. 이것들 변형은 여러면에서 비슷하지만 별도로 설명됩니다.
이 변형의윈 토토명령 제공 데이터베이스의 특정 권한은 하나 이상의 역할로 개체합니다. 이 특권은 이미 부여 된 사람에게 추가됩니다.
하나 이상의 스키마 내에서 동일한 유형. 이 기능은 다음과 같습니다 현재 테이블, 시퀀스 및 기능에 대해서만 지원됩니다 (그러나 참고모든 테이블보기와 외국 테이블 포함).
키워드public특권은 나중에 생성 될 수 있습니다.public할 수 있습니다 항상 모든 것을 포함하는 암시 적으로 정의 된 그룹으로 생각 역할. 특정 역할은 권한의 합이 부여됩니다. 직접, 현재는 모든 역할에 부여 된 특권이 회원 및 권한이 부여 된 특권public.
if보조금 옵션지정되어 있습니다 특권을받는 사람은 차례로 다른 사람들에게 그것을 부여 할 수 있습니다. 없이 보조금 옵션, 수신자는 그렇게 할 수 없습니다. 보조금 옵션은 할 수 없습니다 부여 받기public.
개체 소유자에게 특권을 부여 할 필요가 없습니다. 소유자가 모든 권한을 가지고 있기 때문에 (보통 그것을 만든 사용자) 기본적으로. (그러나 주인은 그의 일부를 취소하기로 선택할 수 있습니다. 안전을위한 자신의 특권.)
객체를 떨어 뜨리거나 정의를 변경할 권리 길은 부여 가능한 특권으로 취급되지 않습니다. 그것은 내재되어 있습니다 소유자, 부여하거나 취소 할 수 없습니다. (그러나 비슷한 효과 역할의 멤버십을 부여하거나 취소하여 얻을 수 있습니다. 개체를 소유합니다. 아래를 참조하십시오.) 소유자는 암시 적으로 모든 보조금을 가지고 있습니다 객체에 대한 옵션도 있습니다.
윈 토토 보조금 일부 유형의 객체에 대한 기본 권한을 rantspublic. 특권이 부여되지 않습니다공개기본적으로 테이블, 테이블 열, 시퀀스, 외국 데이터 포장지, 외국 서버, 대형 물체, 스키마 또는 테이블 스페이스. 다른 유형의 객체의 경우 부여 된 불이행 특권publicare 다음과 같이 :Connectand임시(임시 테이블 작성) 권한 데이터베이스;execute특권 기능; 그리고usage특권 언어 및 데이터 유형 (도메인 포함). 객체 소유자는 할 수 있습니다. 물론,Revoke기본값과 명시 적으로 부여 된 특권. (최대 보안을 위해 발급Revoke같은 거래에서 객체를 만듭니다. 그런 다음 다른 사용자가있는 창이 없습니다 객체를 사용할 수 있습니다.) 또한 이러한 초기 기본 권한 설정 를 사용하여 변경할 수 있습니다.기본 권한 변경명령.
가능한 특권은 다음과 같습니다.
허용select모든 열에서 OR
나열된 특정 열, 지정된 테이블,보기 또는
순서. 또한의 사용을 허용합니다.젠 토토 : 문서 : 9.3 : Copyto. 이 권한은 기존 열을 참조하는 데 필요한 것도 필요합니다PostgreSQL : 문서 : 9.3 : 사설 토토 사이트또는삭제. 시퀀스의 경우이 특권도 있습니다
의 사용을 허용합니다.Currval
함수. 큰 물체의 경우이 권한은 물체가
읽다.
허용PostgreSQL : 문서 : 9.3 : 사설 토토 사이트새 행의 지정된 테이블. 특정 열이 나열된 경우에만 가능합니다 열은에 할당 될 수 있습니다.삽입명령 (다른 열은 기본값을받습니다). 또한 허용젠 토토 : 문서 : 9.3 : Copy
허용PostgreSQL : 문서 : 9.3 : 사설 토토 사이트모든 열의 OR
지정된 테이블의 특정 열. (실제로는
사소한업데이트명령이 필요합니다select권한이 있어야합니다
기준 테이블 열에서 업데이트 할 행을 결정하고/또는
열에 대한 새로운 값을 계산하려면.)선택 ...
updateand선택 ... 공유를 위해그만큼select특권. 시퀀스의 경우 이것
특권은를 사용할 수 있습니다.NextVal
andsetVal
기능. 큰 물건의 경우이 특권은 글을 쓰거나 허용합니다
물체를 잘라 내기.
허용PostgreSQL : 문서 : 9.3 : 젠 토토지정된 테이블. (실제로는 사소한삭제명령이 필요합니다select특권도 참조해야하므로 삭제할 행을 결정하는 테이블 열.)
허용토토 핫 : 문서 : 9.3 : Truncate지정된 테이블.
외국의 주요 제약 조건을 만들려면이 문제가 필요합니다. 참조 및 참조 열 모두에 대한 특권. 그만큼 테이블의 모든 열에 대해 권한이 부여 될 수 있습니다. 특정 열.
지정된 테이블에서 트리거를 생성 할 수 있습니다. (보다 그만큼PostgreSQL : 문서 : 9.3 : 스포츠 토토 만들기진술.)
데이터베이스의 경우, 새로운 스키마가 데이터 베이스.
스키마의 경우 스키마 내에서 새 개체를 생성 할 수 있습니다. 기존 객체의 이름을 바꾸려면 객체를 소유해야합니다and스키마 포함.
테이블 스페이스의 경우 테이블, 인덱스 및 임시 파일을 허용합니다 테이블 스페이스 내에서 생성되고 데이터베이스가 테이블 스페이스를 기본 테이블 스페이스로 만들었습니다. (메모 이 특권을 철회하는 것은 기존 객체.)
사용자가 지정된 데이터베이스에 연결할 수 있습니다. 이것 Connection 스타트 업에서 권한이 확인됩니다 (확인 외에도 에 의해 부과 된 모든 제한pg_hba.conf).
지정된 것을 사용하는 동안 임시 테이블을 만들 수 있습니다. 데이터 베이스.
지정된 함수를 사용하고 어떤 사용을 사용할 수 있습니다. 기능 위에 구현 된 연산자. 이것은입니다 기능에 적용 할 수있는 특권 유형 만. (이것 구문은 집계 함수에 대해서도 작동합니다.)
절차 언어의 경우 지정된 언어를 사용할 수 있습니다 해당 언어로 기능을 만드는 언어. 이것은 절차에 적용 할 수있는 유일한 유형의 특권 언어.
스키마의 경우 지정된 물체에 액세스 할 수 있습니다. 스키마 (객체의 자체 권한 요구 사항이 있다고 가정합니다 또한 만났다). 본질적으로 이것은 수 여자가를 허용합니다."봐"스키마 내의 객체. 이것없이 권한은 여전히 객체 이름을 볼 수 있습니다 (예 : ~에 의해 시스템 테이블 쿼리. 또한이 허가를 철회 한 후 기존의 백엔드에는 이전에 언급 한 진술이있을 수 있습니다 이 조회를 수행 했으므로 이것은 완전히 안전한 방법이 아닙니다. 객체 액세스 방지.
시퀀스의 경우이 권한은를 사용할 수 있습니다.Currval
andNextVal
기능.
유형과 도메인의 경우이 권한은 유형을 사용할 수 있습니다. 또는 테이블, 기능 및 기타 스키마 생성의 도메인 사물. (일반적인 통제하지 않는다는 점에 유의"사용"22429_22715
외국 데이터 포장지의 경우,이 특권을 통해 수 여자는 가능합니다 해당 외국 데이터 래퍼를 사용하여 새 서버를 만듭니다.
서버의 경우이 권한을 통해 수 여자는 생성 할 수 있습니다 서버를 사용하여 외국 테이블을 만들고 생성, 변경 또는 드롭 해당 서버와 관련된 자신의 사용자의 사용자 매핑.
사용 가능한 모든 권한을 한 번에 부여하십시오. 그만큼특권키워드는 선택 사항입니다윈 토토는 엄격하게 필요합니다 SQL.
다른 명령에 필요한 권한은 각 명령의 참조 페이지.
이 변형윈 토토명령 역할의 멤버십을 하나 이상의 다른 역할로 부여합니다. 멤버십 역할은 부여 된 특권을 전달하기 때문에 중요합니다. 각 회원들에게 역할을합니다.
if관리자 옵션지정되어 있습니다 회원은 다른 사람에게 역할을 부여 할 수 있으며 역할의 멤버십도 취소합니다. 관리자 옵션이 없으면 일반 사용자는 그렇게 할 수 없습니다. 역할은 보유하는 것으로 간주되지 않습니다관리자 옵션그 자체로 데이터베이스 세션에서 그 자체로 멤버십을 부여하거나 취소했습니다. 세션 사용자가 역할과 일치합니다. 데이터베이스 슈퍼 사용자는 또는 부여 할 수 있습니다 모든 역할의 멤버십을 취소합니다. 역할Createrole특권은 회원 자격을 부여하거나 취소 할 수 있습니다 슈퍼업자가 아닌 역할에서.
특권의 경우와 달리 역할 멤버십은 부여public. 또한 이것을 주목하십시오 명령의 형태는 노이즈 워드를 허용하지 않습니다그룹.
the젠 토토 : 문서 : 9.3 : Revoke명령이 사용됩니다 접근 권한 취소.
이후윈 토토8.1, the 사용자와 그룹의 개념은 단일 종류로 통합되었습니다. 역할이라고 불리는 단체. 따라서 더 이상 사용할 필요가 없습니다 키워드그룹a 수 여자는 사용자 또는 그룹입니다.그룹IS 여전히 명령에 허용되지만 소음 단어입니다.
사용자가 수행 할 수 있습니다select, 삽입등. 특정 열 또는 전체 테이블의 경우. 부여 테이블 레벨에서의 권한을 한 다음 하나의 열을 위해 취소합니다. 당신이 원하는 것을하지 않을 것입니다 : 테이블 레벨 보조금은 열 레벨 작업에 영향을받지 않습니다.
객체의 비 소유자가 시도 할 때윈 토토개체의 특권, 명령은 의지합니다 사용자가 전혀 권한이 없으면 완전히 실패합니다. 물체. 일부 권한을 사용할 수있는 한 명령은 계속 진행하지만 사용자가 보조금 옵션이 있습니다. 그만큼모든 것을 부여하십시오 특권보조금이없는 경우 양식이 경고 메시지를 발행합니다 옵션은 보관되며 다른 형태는 다음과 같은 경고를 발행합니다. 특별히 명명 된 권한에 대한 옵션 명령은 유지되지 않습니다. (원칙적 으로이 진술은 물체 소유자도 있지만 소유자는 항상 모든 보조금 옵션을 보유하면 사례는 발생할 수 없습니다.)
데이터베이스 슈퍼 사용자가 모든 것에 액세스 할 수 있음을 알 수 있어야합니다. 객체 권한 설정에 관계없이 개체. 이것은 비슷합니다 의 권리에루트UNIX 시스템에서. 처럼 와 함께루트, a로 작동하는 것은 현명하지 않습니다 절대적으로 필요한 경우를 제외하고 슈퍼업자.
슈퍼업자가 a를 선택하는 경우윈 토토또는Revoke명령은 명령입니다 영향을받는 사람의 소유자가 발행 한 것처럼 수행 물체. 특히, 그러한 명령을 통해 부여 된 특권은 의지합니다 객체 소유자가 부여한 것으로 보입니다. (역할을 위해 회원 자격, 회원 자격은 역할 자체 포함.)
윈 토토andRevoke영향을받는 물체의 소유자이지만 소유하는 역할의 구성원입니다. 대상, 또는 특권을 보유한 역할의 구성원이거나보조금 옵션개체에서. 이것에서 사례 특권은 실제로 대상을 소유하거나 특권을 보유하는 역할보조금 옵션. 예를 들어, 표T1ROLY 소유G1, 그 역할U1is 회원, 그때U1특권을 부여 할 수 있습니다T1toU2그러나 이러한 특권은에 의해 직접 부여 된 것으로 보일 것입니다.G1. 역할의 다른 구성원G1나중에 취소 할 수 있습니다.
역할이 실행되는 경우윈 토토필수 특권은 둘 이상의 역할 멤버십을 통해 간접적으로 경로, 역할을 포함하는 것은 지정되지 않으며 보조금을 마쳤습니다. 그러한 경우 사용하는 것이 가장 좋습니다역할 설정특정 역할이되기 위해 하고 싶어윈 토토as.
테이블에 허가 부여는 자동으로 확장되지 않습니다 시퀀스를 포함하여 테이블에서 사용하는 모든 시퀀스에 대한 권한 묶음Serial열. 권한 시퀀스는 별도로 설정해야합니다.
usePSQL's\ dp기존의 기존 권한에 대한 정보를 얻기위한 명령 그리고 열. 예를 들어:
= \ dp mytable 액세스 권한 스키마 | 이름 | 유형 | 액세스 권한 | 열 액세스 권한 --------+--------+-------+------------------------------------------------------------- 공개 | mytable | 표 | miriam = arwddxt/miriam | col1 : : = r/miriam : miriam_rw = rw/miriam : admin = arw/miriam (1 행)
\ dpare 이렇게 해석 :
rolename = xxxx- 역할에 부여 된 특권 = xxxx- 공개 된 특권 R- 선택 ( "읽기") W- 업데이트 ( "쓰기") A- 삽입 ( "Append") D- 삭제 D- 잘립니다 x- 참조 t- 트리거 x- 실행 U- 사용법 C- 생성 C- 연결 T- 임시 arwddxt- 모든 권한 (테이블의 경우 다른 개체마다 다름) * - 선행 권한에 대한 옵션 /yyyy-이 특권을 부여한 역할
위의 예제 디스플레이는 사용자가 볼 수 있습니다Miriam테이블 생성 후mytable및 수행 :
Grant Grant MyTable에서 공개적으로 선택하십시오. Grant Select, Update, MyTable에 관리자 삽입; Grant Select (col1), miriam_rw;에 mytable에서 업데이트 (col1)
비 테이블 객체의 경우 다른\ d특권을 표시 할 수있는 명령.
"액세스 권한"열은 주어진 객체에 대해 비어 있으면 객체에 기본값이 있음을 의미합니다. 특권 (즉, 특권 열은 무일합니다). 기본 권한에는 항상 소유자에 대한 모든 권한이 포함되며 에 대한 특권 포함public위에서 설명한대로 객체 유형에 따라. 첫 번째윈 토토또는Revoke개체에서 기본 권한을 인스턴스화합니다 (생산, 예를 들어,miriam = arwddxt/miriam) 및 그런 다음 지정된 요청에 따라 수정하십시오. 마찬가지로 항목이 있습니다 표시"열 액세스 권한"만 nondefault 권한이있는 열의 경우. (참고 :이 목적을 위해"기본 권한"항상 의미합니다 객체 유형에 대한 기본 기본 권한 내장. 대상 특권은의 영향을 받았습니다.ALTER 기본 권한명령은 항상 an과 함께 표시됩니다 의 효과를 포함하는 명시 적 특권 항목Alter.)
소유자의 암시 적 보조금 옵션이 표시되지 않음을 알 수 있습니다. 액세스 권한 표시. 에이*의지 보조금 옵션이 명시 적으로 부여 된 경우에만 나타납니다. 누구.
테이블의 모든 사용자에게 삽입 권한을 부여영화:
필름에 공개 삽입을 그랜트 삽입;
사용 가능한 모든 권한을 사용자에게 부여Manuel보기Kinds:
Manuel에게 모든 특권을 부여;
위의 반면 실제로 모든 특권을 부여 할 것입니다. 수퍼 유저 또는 소유자가 실행Kinds, 다른 사람이 실행할 때만 가능합니다 다른 사람이 보조금을받은 권한을 부여하십시오. 옵션.
역할 멤버십관리자Joe:
Joe에게 관리자를 부여하십시오;
SQL 표준에 따르면특권key Word in모두 특권SQL 표준은 지원하지 않습니다 명령 당 하나 이상의 객체에 권한 설정.
윈 토토객체를 허용합니다 자신의 평범한 특권을 철회하는 소유자 : 예를 들어, 테이블 소유자는 자신의 자신을 철회하여 테이블을 자신에게 읽을 수 있습니다삽입, 업데이트, 삭제및Truncate특권. 이것은 불가능합니다 SQL 표준에. 그 이유는윈 토토소유자의 권한을 대처합니다 소유자에 의해 자신에게 부여되었습니다. 그러므로 그는 할 수 있습니다 그들도 취소하십시오. SQL 표준에서는 소유자의 권한이 있습니다 가정 된 엔티티에 의해 부여"_System". 존재하지 않는다"_System", 소유자는 할 수 없습니다 이 권리를 취소하십시오.
SQL 표준에 따르면, 보조금 옵션을 부여 할 수 있습니다public; 윈 토토은 부여 만 지원합니다 역할에 옵션을 부여합니다.
SQL 표준은 A를 제공합니다usage다른 종류의 객체에 대한 특권 : 문자 세트, 콜라주, 번역.
SQL 표준에서 시퀀스 만 만 있습니다.usage특권, 사용을 통제하는 특권다음 값표현입니다
함수와 동등한NextVal
in
윈 토토. 시퀀스 권한select및업데이트윈 토토 확장자입니다. 그만큼
시퀀스의 적용usageCurrval함수도 있습니다
윈 토토 확장자 (함수 자체와 마찬가지로).
데이터베이스, 테이블 스페이스, 스키마 및 언어의 권한은윈 토토확장.