顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業(yè)只做數(shù)據(jù)庫實訓和認證的品牌機構(gòu)

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網(wǎng)站首頁 > pg大講堂 > 從小白到專家 PostgreSQL技術(shù)大講堂 - Part 8:PG對象權(quán)限管理

從小白到專家 PostgreSQL技術(shù)大講堂 - Part 8:PG對象權(quán)限管理

文章來源: 更新時間:2023/2/15 15:43:38

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認證,報名從速!

我要咨詢

PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內(nèi)容包括對PG基礎(chǔ)的認知、包括安裝使用、包括角色權(quán)限、包括維護管理、、等內(nèi)容,希望對熱愛PG、學習PG的同學們有幫助,歡迎持續(xù)關(guān)注CUUG PG技術(shù)大講堂。

Part 8:PG對象管理

內(nèi)容1:PostgreSQL 對象權(quán)限概述

內(nèi)容2:PostgreSQL 對象權(quán)限授權(quán)

內(nèi)容3:PostgreSQL 查看對象權(quán)限

內(nèi)容4:PostgreSQL 對象權(quán)限回收


8.1、對象權(quán)限概述

1、每個數(shù)據(jù)庫對象都有一個所有者,默認情況下,所有者擁有該對象的所有權(quán)限

2、在數(shù)據(jù)庫中所有的權(quán)限都和角色掛鉤

3、對超級用戶postgres不做權(quán)限檢查,其它用戶走ACL(Access ControL List)

4、對于數(shù)據(jù)庫對象,開始只有所有者和超級用戶可以做任何操作,其它走ACL

對象級別的權(quán)限

表級對象權(quán)限控制

列級別權(quán)限控制

序列權(quán)限控制

類型域的權(quán)限控制(域簡單來說就是自定義的帶約束的數(shù)據(jù)類型)

FDW權(quán)限控制

FS權(quán)限控制

函數(shù)權(quán)限控制

\h GRANT顯示所有可設(shè)置的訪問權(quán)限

對象權(quán)限列表

rolename=xxxx -- privileges granted to a role =xxxx -- privileges granted to PUBLIC r -- SELECT ("read") w -- UPDATE ("write") a -- INSERT ("append") d -- DELETE D -- TRUNCATE x -- REFERENCES t -- TRIGGER X -- EXECUTE U -- USAGE C -- CREATE c -- CONNECT T -- TEMPORARY arwdDxt -- ALL PRIVILEGES (for tables, varies for other objects) * -- grant option for preceding privilege /yyyy --role that granted this privilege

對象權(quán)限含義

SELECT:允許從指定表,視圖或序列的任何列或列出的特定列進行SELECT。也允許使用COPY TO。在 UPDATE或DELETE中引用現(xiàn)有列值也需要此權(quán)限。對于序列,此權(quán)限還允許使用currval函數(shù)。對于大對象,此權(quán)限允許讀取對象。

INSERT:允許將新行INSERT到指定的表中。如果列出了特定列,則只能在INSERT命令中為這些列分配(因 此其他列將接收默認值)。也允許COPY FROM。

UPDATE:允許更新指定表的任何列或列出的特定列,需要SELECT權(quán)限。

DELETE:允許刪除指定表中的行,需要SELECT權(quán)限。

TRUNCATE:允許在指定的表上截斷數(shù)據(jù)。

REFERENCES:允許創(chuàng)建引用指定表或表的指定列的外鍵約束。

TRIGGER:允許在指定的表上創(chuàng)建觸發(fā)器。

CREATE:對于數(shù)據(jù)庫,允許在數(shù)據(jù)庫中創(chuàng)建新的schema、table、index。

CONNECT:允許用戶連接到指定的數(shù)據(jù)庫。在連接啟動時檢查此權(quán)限。

TEMPORARY、TEMP:允許在使用指定數(shù)據(jù)庫時創(chuàng)建臨時表。

EXECUTE:允許使用指定的函數(shù)或過程以及在函數(shù)。

USAGE:對于schema,允許訪問指定模式中包含的對象;對于sequence,允許使用currval和nextval函數(shù)。對于類型和域,允許在創(chuàng)建表,函數(shù)和其他模式對象時使用類型或域。

ALL PRIVILEGES:一次授予所有可用權(quán)限。


8.2、對象權(quán)限授權(quán)

對象權(quán)限授權(quán) 

每種類型的對象權(quán)限都不一樣,詳細可參考:

http://www.postgresql.org/docs/9.6/static/sql-grant.html

基本語法參考(表對象):

GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ]

授權(quán)示例

授權(quán)單個權(quán)限給用戶

GRANT SELECT ON tab_name TO role_name;

授權(quán)多個/所有權(quán)限給用戶

GRANT SELECT, UPDATE, INSERT ON tab_name TO role_name; GRANT ALL ON tab_name TO role_name;

授權(quán)某模式下所有表的查詢權(quán)限給用戶

GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO role_name;

授權(quán)列權(quán)限給用戶

GRANT SELECT (col1), UPDATE (col1) ON tab_name TO role_name;

授權(quán)所有權(quán)限給所有用戶

GRANT ALL ON tab_name TO public;


8.3、查看對象權(quán)限

查看對象權(quán)限

查看對象權(quán)限數(shù)據(jù)字典表

information_schema.table_privileges

顯示對象的訪問權(quán)限列表

\z或\dp [tablename]

查看對象權(quán)限示例

查看對象權(quán)限數(shù)據(jù)字典表

select grantor,grantee,privilege_type,is_grantable from information_schema.table_privileges where table_name='t1';

查看對象權(quán)限示例

 顯示對象的訪問權(quán)限列表

\z或\dp [tablename]


8.4、對象權(quán)限回收

回收示例

回收單個權(quán)限

REVOKE SELECT ON tab_name FROM role_name;

回收多個/所有權(quán)限

REVOKE SELECT, UPDATE, INSERT ON tab_name FROM role_name; 

REVOKE ALL ON tab_name FROM role_name;

回收某模式下所有表的查詢權(quán)限

REVOKE SELECT ON ALL TABLES IN SCHEMA schema_name FROM role_name;

回收列權(quán)限

REVOKE SELECT (col1), UPDATE (col1) ON tab_name FROM role_name;

回收所有權(quán)限

REVOKE ALL ON tab_name FROM public;

回收示例(特例) 

任何用戶對public模式都有all的權(quán)限,為了安全可以禁止用戶對public 模式的create權(quán)限。

REVOKE CREATE ON SCHEMA public FROM public;

屬主可以取消自己在指定表上的某些權(quán)限

REVOKE UPDAE ON tab_name FROM role_name;REVOKE ALL ON tab_name FROM role_name;

屬主可以授權(quán)自己在指定表上的某些權(quán)限

GRANT ALL ON tab_name TO role_name;

以上就是Part 8 - PG對象權(quán)限管理 的內(nèi)容,歡迎進群一起探討交流

QQ交流群:752027153

微信交流群:聯(lián)系客服拉你進微信PG交流群

釘釘交流群:35822460,釘釘群有專門視頻專題講解

從零開始學,一學就會,趕緊加入吧!

本文地址:http://m.mudan321.com/pgdjt/33269662248.html 轉(zhuǎn)載請注明!


PostgreSQL入門到精通 100+ 個學習資料

Oracle培訓機構(gòu)

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛(wèi)星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內(nèi)悠久的專業(yè)UNIX培訓機構(gòu),被譽為中國UNIX 的搖籃。多年來,以提高教學質(zhì)量為本,強調(diào)素質(zhì)教育,積極引進、消化國外的新技術(shù),有效的結(jié)合中國....[詳情]

一站式服務(wù)(從入學到就業(yè)一幫到底)

入學

學習

就業(yè)

實操

食宿
地址:北京市海淀區(qū)田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業(yè)服務(wù):137 1818 8639(陳經(jīng)理)
部分信息來源于網(wǎng)絡(luò),如有錯誤請聯(lián)系指正!
版權(quán)所有@北京神腦資訊技術(shù)有限公司 (CUUG,中國UNIX用戶協(xié)會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1