W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵(lì)
無論何時(shí)創(chuàng)建數(shù)據(jù)庫對象,都會為其分配一個(gè)所有者,所有者通常是執(zhí)行 create 語句的人。
對于大多數(shù)類型的對象,初始狀態(tài)是只有所有者(或超級用戶)才能修改或刪除對象。要允許其他角色或用戶使用它,必須為該用戶設(shè)置權(quán)限。
在 PostgreSQL 中,權(quán)限分為以下幾種:
根據(jù)對象的類型(表、函數(shù)等),將指定權(quán)限應(yīng)用于該對象。
要向用戶分配權(quán)限,可以使用 GRANT 命令。
GRANT 命令的基本語法如下:
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
另外,我們可以使用 REVOKE 命令取消權(quán)限,REVOKE 語法:
REVOKE privilege [, ...] ON object [, ...] FROM { PUBLIC | GROUP groupname | username }
為了理解權(quán)限,創(chuàng)建一個(gè)用戶:
w3cschooldb=# CREATE USER w3cschool WITH PASSWORD 'password';
CREATE ROLE
信息 CREATE ROLE 表示創(chuàng)建了一個(gè)用戶 "w3cschool"。
創(chuàng)建 COMPANY 表,數(shù)據(jù)內(nèi)容如下:
w3cschooldb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
現(xiàn)在給用戶 "w3cschool" 分配權(quán)限:
w3cschooldb=# GRANT ALL ON COMPANY TO w3cschool;
GRANT
信息 GRANT 表示所有權(quán)限已經(jīng)分配給了 "w3cschool"。
下面撤銷用戶 "w3cschool" 的權(quán)限:
w3cschooldb=# REVOKE ALL ON COMPANY FROM w3cschool;
REVOKE
信息 REVOKE 表示已經(jīng)將用戶的權(quán)限撤銷。
你也可以刪除用戶:
w3cschooldb=# DROP USER w3cschool;
DROP ROLE
信息 DROP ROLE 表示用戶 "w3cschool" 已經(jīng)從數(shù)據(jù)庫中刪除。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: