?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
在創(chuàng)建對(duì)象的時(shí)候,它會(huì)被賦予一個(gè)所有者。通常所有者就是執(zhí)行創(chuàng)建語(yǔ)句的角色。 對(duì)于大多數(shù)類型的對(duì)象,初始狀態(tài)是只有所有者(或者超級(jí)用戶)可以對(duì)該對(duì)象做任 何事情。要允許其它用戶使用這個(gè)對(duì)象,必須賦予相應(yīng)的權(quán)限。 系統(tǒng)里面有好幾種不同類型的權(quán)限: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE。有關(guān)PostgreSQL 支持的不同類型權(quán)限的更多信息,請(qǐng)參閱GRANT參考頁(yè)。
使用GRANT命令賦予權(quán)限。 如果joe是一個(gè)現(xiàn)有的角色,而accounts 是一個(gè)現(xiàn)有的表,那么可以用下面的命令更新表的權(quán)限:
GRANT UPDATE ON accounts TO joe;
我們可以用特殊的名字PUBLIC 把對(duì)象的權(quán)限賦予系統(tǒng)中的所有角色。在權(quán)限聲明的位置寫上ALL 表示把適用于該對(duì)象的所有權(quán)限都賦予目標(biāo)角色。
要撤銷權(quán)限,使用REVOKE命令:
REVOKE ALL ON accounts FROM PUBLIC;
對(duì)象的所有者是一個(gè)特殊的權(quán)限(也就是修改和刪除對(duì)象的權(quán)限), 總是隱含地屬于所有者,不能賦予或者刪除。但是所有者可以選擇 撤銷他自己擁有的普通權(quán)限,比如,把一個(gè)表做成對(duì)自己是只讀的或者其它什么。
只要對(duì)象的類型合適,我們就可以用一個(gè)ALTER命令給這 個(gè)對(duì)象賦予一個(gè)新的所有者。超級(jí)用戶總是能做這件事;普通的角色只能是 在他們目前是該對(duì)象的所有者(或者是所有角色的成員)并且是新的所有角色 的成員的情況下才能做這個(gè)事情。