윈 토토 : 문서 : 9.4 : 윈 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.4 : 와이즈 토토 | PostgreSQL : 문서 : 9.4 : SQL 윈 토토 | PostgreSQL : 문서 : 9.4 : 토토 사이트 순위 |
grant select | 삽입 | 업데이트 | 삭제 | 잘린 | 참조 | 방아쇠 [, ...] | 모든 [권한] on [테이블]table_name[, ...] | 스키마의 모든 테이블schema_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 select | 삽입 | 업데이트 | 참조 (column_name[, ...]) [, ...] | 모든 [토토 베이] (column_name[, ...]) [테이블]table_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 선택 | 업데이트 [, ...] | 모든 [토토 베이] on 시퀀스Sequence_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_Name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] On Languagelang_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 select | 업데이트 [, ...] | 모든 [권한] 큰 물체에loid[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 create | usage [, ...] | 모든 [권한] 스키마Schema_Name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] grant create | 모든 [권한] 테이블 스페이스에서TableSpace_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 그랜트 usage | 모든 [권한] on typetype_name[, ...] [그룹]role_name| public [, ...] [보조금 옵션 포함] 승인하다role_name[, ...] torole_name[, ...] [관리자 옵션 포함]
thegrant명령에는 두 가지 기본 변형이 있습니다. 하나는 데이터베이스 개체 (표, 열,보기, 외국 테이블, 시퀀스, 데이터베이스, 외국 데이터 래퍼, 외국 서버, 기능, 절차 적 언어, 스키마 또는 테이블 스페이스)에 권한을 부여하는 두 가지 기본 변형이 있습니다. 이 변형은 여러면에서 비슷하지만 별도로 설명하기에 충분히 다릅니다.
이 변형의grant명령은 데이터베이스 객체에 하나 이상의 역할에 특정 토토 베이을 제공합니다. 이 특권은 이미 부여 된 사람에게 추가됩니다.
하나 이상의 스키마 내에서 동일한 유형의 모든 개체에 대한 토토 베이을 부여 할 수있는 옵션도 있습니다. 이 기능은 현재 테이블, 시퀀스 및 함수에 대해서만 지원됩니다 (그러나모든 테이블보기와 외국 테이블을 포함하는 것으로 간주)
키워드public| 토토 베이은 나중에 생성 될 수있는 것들을 포함하여 모든 역할에 토토 베이이 부여되어야 함을 나타냅니다.public항상 모든 역할을 포함하는 암시 적으로 정의 된 그룹으로 생각할 수 있습니다. 특정한 역할은 직접 토토 베이이 부여 된 특권의 합계, 현재의 역할에 부여 된 특권 및에 부여 된 특권을 갖습니다.public.
if보조금 옵션지정되어 있으며, 특권을받는 사람은 차례로 다른 사람들에게 그것을 부여 할 수 있습니다. 보조금 옵션이 없으면 수신자는 그렇게 할 수 없습니다. 보조금 옵션을 부여 할 수 없습니다public.
소유자는 기본적으로 모든 토토 베이이 있기 때문에 객체의 소유자에게 토토 베이을 부여 할 필요가 없습니다 (일반적으로 생성 한 사용자). (그러나 주인은 안전에 대한 자신의 특권을 취소하기로 선택할 수 있습니다.)
객체를 떨어 뜨리거나 어떤 식 으로든 정의를 변경할 권리는 부여 가능한 특권으로 취급되지 않습니다. 그것은 소유자에게 내재되어 있으며, 부여되거나 취소 될 수 없습니다. (그러나 객체를 소유 한 역할의 멤버십을 부여하거나 취소함으로써 비슷한 효과를 얻을 수 있습니다. 아래 참조) 소유자는 암시 적으로 개체에 대한 모든 보조금 옵션이 있습니다..
PostgreSQL 보조금 일부 유형의 객체에 대한 기본 토토 베이을 rants공개. 특권이 부여되지 않습니다public기본적으로 테이블, 테이블 열, 시퀀스, 외래 데이터 포장지, 외래 서버, 대형 객체, 스키마 또는 테이블 스페이스에서 기본적으로. 다른 유형의 객체의 경우에 부여 된 기본 토토 베이이 부여됩니다.공개다음과 같습니다.Connectand임시(임시 테이블 작성) 데이터베이스의 권한;execute기능에 대한 특권; 그리고usage언어 및 데이터 유형에 대한 토토 베이 (도메인 포함). 물체 소유자는 물론Revoke기본 및 명시 적으로 부여 된 특권. (최대 보안을 위해 발급Revoke객체를 생성하는 동일한 트랜잭션에서; 그런 다음 다른 사용자가 객체를 사용할 수있는 창이 없습니다.) 또한 이러한 초기 기본 토토 베이 설정은를 사용하여 변경할 수 있습니다.PostgreSQL :명령.
가능한 특권은 다음과 같습니다.
허용PostgreSQL : 문서 : 9.4 : 스포츠 토토 사이트지정된 테이블,보기 또는 시퀀스의 열 또는 나열된 특정 열에서. 또한의 사용을 허용합니다.PostgreSQL : 문서 : 9.4 : 배트맨 토토to. 이 토토 베이은 또한 기존 열 값을 참조하는 데PostgreSQL : 문서 : 9.4 : 젠 토토또는PostgreSQL : 문서 : 9.4 : 스포츠 토토 사이트. 시퀀스의 경우이 권한은의 사용도 허용합니다.Currval
함수. 큰 물체의 경우이 토토 베이은 객체를 읽을 수 있습니다.
허용PostgreSQL : 문서 : 9.4 : 토토 사이트 순위지정된 테이블에 새 행의. 특정 열이 나열되면 해당 열만 할당 할 수 있습니다.삽입명령 (다른 열은 기본값을받습니다). 또한 허용PostgreSQL : 문서 : 9.4 : 배트맨 토토.
허용PostgreSQL : 문서 : 9.4 : 젠 토토지정된 테이블의 열 또는 나열된 특정 열의. (실제로는 사소한업데이트명령이 필요합니다select권한도 업데이트 할 행을 결정하고 열에 대한 새 값을 계산하기 위해 테이블 열을 참조해야하므로 권한도 있습니다.선택 ... 업데이트 용and선택 ... 공유를 위해또한 외에도 적어도 하나의 열 에서이 토토 베이을 요구합니다.select특권. 시퀀스의 경우이 토토 베이은를 사용할 수 있습니다.NextVal
andsetVal
기능. 큰 물체의 경우이 특권은 대상을 쓰거나 잘립니다.
허용PostgreSQL : 문서 : 9.4 : 스포츠 토토 사이트지정된 테이블에서 행의 행. (실제로는 사소한삭제명령이 필요합니다select권한도 삭제할 행을 결정하기 위해 테이블 열을 참조해야하므로.
허용스포츠 토토 사이트 : 문서 : 9.4 : Truncate지정된 표에서
외국의 주요 제약 조건을 만들려면 참조 및 참조 열 모두에 대한 특권을 가져야합니다. 테이블의 모든 열 또는 특정 열에 대해 권한이 부여 될 수 있습니다.
지정된 테이블에서 트리거를 생성 할 수 있습니다. (참조PostgreSQL : 문서 : 9.4 : 토토 베이 생성진술.)
데이터베이스의 경우 데이터베이스 내에서 새로운 Schemas를 생성 할 수 있습니다.
스키마의 경우 스키마 내에서 새 개체를 생성 할 수 있습니다. 기존 객체의 이름을 바꾸려면 객체를 소유해야합니다and포함 된 스키마에 대한이 토토 베이을 갖습니다.
테이블 스페이스의 경우 테이블 스페이스 내에서 테이블, 인덱스 및 임시 파일을 생성 할 수 있으며 테이블 스페이스를 기본 테이블 스페이스로 만든 데이터베이스를 생성 할 수 있습니다. (이 권한을 취소하면 기존 객체의 배치가 바뀌지 않을 것입니다.)
사용자가 지정된 데이터베이스에 연결할 수 있습니다. 이 토토 베이은 연결 시작시 확인됩니다 (PG_HBA.conf).
지정된 데이터베이스를 사용하는 동안 임시 테이블을 작성할 수 있습니다.
지정된 기능과 함수 위에 구현 된 모든 연산자를 사용할 수 있습니다. 이것은 기능에 적용 할 수있는 유일한 유형의 토토 베이입니다. (이 구문은 집계 기능에도 적용됩니다.)
절차 언어의 경우 해당 언어의 기능을 만드는 데 지정된 언어를 사용할 수 있습니다. 이것은 절차 언어에 적용 할 수있는 유일한 유형의 토토 베이입니다.
스키마의 경우 지정된 스키마에 포함 된 개체에 액세스 할 수 있습니다 (개체의 자체 권한 요구 사항도 충족한다고 가정). 본질적으로 이것은 수 여자가를 허용합니다."봐"스키마 내의 객체. 이 허가가 없으면 객체 이름을 볼 수 있습니다 (예 : 시스템 테이블을 쿼리하여. 또한이 허가를 철회 한 후 기존의 백엔드는 이전 에이 조회를 수행 한 진술이있을 수 있으므로 객체 액세스를 방지하는 완전히 안전한 방법은 아닙니다..
시퀀스의 경우이 토토 베이은를 사용할 수 있습니다.Currval
andNextVal
기능.
유형 및 도메인의 경우,이 권한은 테이블, 함수 및 기타 스키마 객체를 작성하는 데 유형 또는 도메인을 사용할 수 있습니다. (일반적인 통제하지 않는다는 점에 유의"사용"22367_22653
외국 데이터 포장지의 경우,이 특권은 그랜트가 해당 외국 데이터 래퍼를 사용하여 새 서버를 만들 수 있습니다.
서버의 경우,이 권한은 그랜트가 서버를 사용하여 외래 테이블을 만들고 해당 서버와 관련된 사용자의 사용자 매핑을 생성, 변경 또는 삭제할 수 있습니다.
사용 가능한 모든 토토 베이을 한 번에 부여하십시오. 그만큼특권키워드는 선택 사항입니다postgresql, 엄격한 SQL에 필요하지만
다른 명령에 필요한 권한은 각 명령의 참조 페이지에 나열되어 있습니다.
이 변형의grant명령은 역할의 멤버십을 하나 이상의 다른 역할로 부여합니다. 역할의 회원 자격은 각 회원에게 역할에 부여 된 특권을 전달하기 때문에 중요합니다.
if관리자 옵션명시되어 있으며, 회원은 다른 사람과의 역할에 대한 멤버십을 부여 할 수 있으며 그 역할의 멤버십도 취소 할 수 있습니다. 관리자 옵션이 없으면 일반 사용자는 그렇게 할 수 없습니다. 역할은 보유하는 것으로 간주되지 않습니다admin 옵션그 자체로, 그러나 세션 사용자가 역할과 일치하는 데이터베이스 세션에서 멤버십 자체를 부여하거나 취소 할 수 있습니다. 데이터베이스 슈퍼 사용자는 모든 역할에서 모든 역할을 수행하거나 취소 할 수 있습니다. 역할CreaterolePrivilege는 슈퍼업자가 아닌 역할의 멤버십을 부여하거나 취소 할 수 있습니다.
특권의 경우와 달리 역할 멤버십은 부여 될 수 없습니다public. 또한이 형태의 명령은 노이즈 워드를 허용하지 않습니다그룹.
the스포츠 토토 결과 : 문서 : 9.4 : Revoke명령은 액세스 토토 베이을 취소하는 데 사용됩니다.
이후PostgreSQL8.1, 사용자와 그룹의 개념은 역할이라고하는 단일 종류의 엔티티로 통합되었습니다. 따라서 더 이상 키워드를 사용할 필요가 없습니다그룹수 여자가 사용자인지 그룹인지 확인하려면그룹명령에 여전히 허용되지만 소음 단어입니다.
사용자가 수행 할 수 있습니다select, 삽입등은 특정 열이나 전체 테이블에 대한 특권을 보유한 경우 열에 있습니다. 테이블 레벨에서 특권을 부여한 다음 하나의 열에 대해 취소하는 것은 원하는대로하지 않습니다. 테이블 레벨 보조금은 열 수준 작업의 영향을받지 않습니다.
객체의 비 소유자가 시도 할 때grant객체의 권한이있는 경우 사용자가 객체에 권한이없는 경우 명령이 완전히 실패합니다. 일부 권한을 사용할 수있는 한 명령은 진행되지만 사용자에게 보조금 옵션이있는 권한 만 부여합니다. 그만큼모든 특권을 부여양식은 보조금 옵션이 보유되지 않으면 경고 메시지를 발행하는 반면, 다른 양식은 명령에 명시된 권한에 대한 보조금 옵션이 보관되지 않은 경우 경고를 발행합니다. (원칙적 으로이 진술은 객체 소유자에게도 적용되지만 소유자는 항상 모든 보조금 옵션을 보유한 것으로 취급되므로 사례는 결코 발생할 수 없습니다.)
Database SuperUser는 객체 토토 베이 설정에 관계없이 모든 객체에 액세스 할 수 있습니다. 이것은의 권리와 비슷합니다루트유닉스 시스템에서. 와 마찬가지로루트
슈퍼업자가 a를 선택하는 경우grant또는Revoke명령에 따라 명령은 영향을받는 객체의 소유자가 발행 한 것처럼 수행됩니다. 특히, 그러한 명령을 통해 부여 된 특권은 객체 소유자가 부여한 것으로 보입니다. (역할 멤버십의 경우, 멤버십은 포함 역할 자체에 의해 부여 된 것으로 보입니다.)
grantandRevoke영향을받는 대상의 소유자가 아닌 역할에 의해 수행 될 수 있지만, 대상을 소유하거나 특권을 보유하는 역할의 구성원 인 역할의 구성원입니다.보조금 옵션개체에서. 이 경우 특권은 실제로 대상을 소유하거나 권한을 보유하는 역할에 의해 부여 된 것으로 기록됩니다.보조금 옵션. 예를 들어, 표T1ROLY 소유G1, 그 역할U1회원입니다.U1특권을 부여 할 수 있습니다T1toU2, 그러나 그 특권은에 의해 직접 부여 된 것으로 보일 것입니다.G1. 역할의 다른 구성원G1나중에 취소 할 수 있습니다.
역할이 실행되는 경우grant하나 이상의 역할 멤버십 경로를 통해 필요한 토토 베이을 간접적으로 보유하고 있으며, 그 보조금을 포함한 역할을 포함하는 것은 지정되지 않습니다. 그러한 경우 사용하는 것이 가장 좋습니다역할 설정당신이 원하는 특정 역할이 되려면grantas.
테이블에 허가 부여는 테이블에 사용되는 시퀀스에 대한 토토 베이을 자동으로 확장하지 않습니다.Serial열. 시퀀스에 대한 토토 베이은 별도로 설정해야합니다.
usePSQL's\ dp테이블 및 열에 대한 기존 권한에 대한 정보를 얻는 명령. 예를 들어:
= \ dp mytable 액세스 권한 스키마 | 이름 | 유형 | 액세스 권한 | 열 액세스 권한 --------+--------+-------+------------------------------------------------------------- 공개 | mytable | 표 | miriam = arwddxt/miriam | col1 : : = r/miriam : miriam_rw = rw/miriam : admin = arw/miriam (1 행)
\ dp따라서 해석됩니다 :
rolename = xxxx- 역할에 부여 된 특권 = xxxx- 공개 된 특권 R- 선택 ( "읽기") W- 업데이트 ( "쓰기") A- 삽입 ( "Append") D- 삭제 D- 잘립니다 x- 참조 t- 트리거 x- 실행 U- 사용법 C- 생성 C- 연결 T- 임시 arwddxt- 모든 토토 베이 (테이블의 경우 다른 개체마다 다름) * - 선행 권한에 대한 옵션 /yyyy-이 특권을 부여한 역할
위의 예제 디스플레이는 사용자가 볼 수 있습니다MIRIAM테이블 생성 후mytable및 do :
Grant Grant MyTable에서 공개적으로 선택하십시오. Grant Select, Update, MyTable에 관리자 삽입; Grant Select (col1), miriam_rw;에 mytable에서 업데이트 (col1)
비 테이블 객체의 경우\ d특권을 표시 할 수있는 명령.
인 경우"액세스 토토 베이"열이 주어진 객체의 경우 비어 있습니다. 객체에 기본 권한이 있음을 의미합니다 (즉, 권한 열이 null 임). 불이행 권한에는 항상 소유자에 대한 모든 토토 베이이 포함되며 일부 권한을 포함시킬 수 있습니다.public위에서 설명한대로 객체 유형에 따라. 첫 번째grant또는Revoke개체에서 기본 토토 베이을 인스턴스화합니다 (예 : 생성miriam = arwddxt/miriam) 지정된 요청에 따라 수정하십시오. 마찬가지로 항목은에 표시됩니다."열 액세스 토토 베이"nondefault 토토 베이이있는 열에 대해서만. (참고 :이 목적을 위해"기본 토토 베이"항상 객체 유형에 대한 내장 기본 권한을 의미합니다. 특권에 의해 특권이 영향을받은 대상기본 토토 베이 변경명령은 항상의 효과를 포함하는 명백한 토토 베이 항목으로 표시됩니다.Alter.)
소유자의 암시 적 보조금 옵션은 액세스 권한 표시에 표시되지 않습니다. 에이*보조금 옵션이 누군가에게 명시 적으로 부여 된 경우에만 나타납니다.
테이블의 모든 사용자에게 삽입 권한을 부여영화:
필름에 공개 삽입을 그랜트 삽입;
사용 가능한 모든 토토 베이을 사용자에게 부여Manuelin viewKinds:
Manuel에게 모든 특권을 부여;
슈퍼업자 또는 소유자가 실행 한 경우 위는 실제로 모든 토토 베이을 부여 할 것입니다.Kinds, 다른 사람이 처형하면 다른 사람이 보조금 옵션을 보유한 권한 만 부여합니다.
역할 멤버십AdminsJoe:
Joe에게 관리자를 부여하십시오;
SQL 표준에 따르면특권키워드모든 토토 베이SQL 표준은 명령 당 하나 이상의 오브젝트에서 토토 베이을 설정하는 것을 지원하지 않습니다.
PostgreSQL객체 소유자가 자신의 평범한 특권을 취소 할 수있게 해줍니다. 예를 들어, 테이블 소유자는 자신의 자신의 것을 취소하여 테이블을 읽을 수 있습니다.삽입, 업데이트, 삭제및Truncate특권. 이것은 SQL 표준에 따라 불가능합니다. 그 이유는PostgreSQL소유자의 특권을 소유자가 자신에게 부여한 것으로 취급합니다. 그러므로 그는 그들도 그들을 취소 할 수 있습니다. SQL 표준에서 소유자의 권한은 가정 된 엔티티에 의해 부여됩니다"_System". 존재하지 않는다"_System", 소유자는 이러한 권리를 취소 할 수 없습니다.
SQL 표준에 따르면, 보조금 옵션을 부여 할 수 있습니다public; PostgreSQL은 역할에 대한 보조금 옵션 부여 만 지원합니다.
SQL 표준은 a를 제공합니다.usage다른 종류의 객체에 대한 특권 : 문자 세트, 콜라주, 번역.
SQL 표준에서 시퀀스 만 만 있습니다.usage특권,다음 값expression, 함수와 동일합니다NextVal
postgresql에서. 시퀀스 권한select및업데이트PostgreSQL 확장자입니다. 시퀀스의 적용usageCurrval함수는 또한 PostgreSQL 확장자입니다 (함수 자체와 마찬가지로).
데이터베이스, 테이블 스페이스, 스키마 및 언어의 토토 베이은PostgreSQL확장.