PostgreSQL技術大講堂 - Part 7:PG使用者schema相互關係
PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內容包括對PG基礎的認知、包括安裝使用、包括角色許可權、包括維護管理、、等內容,希望對熱愛PG、學習PG的同學們有幫助,歡迎持續關注CUUG PG技術大講堂。
Part 7:PG使用者與schema關係
內容1:PostgreSQL Schema概述
內容2:PostgreSQL 使用者與Schema
內容3:PostgreSQL schema管理
內容4:PostgreSQL public schema
內容5:PostgreSQL 模式使用建議
7.1、Schema概述
什麼是schema(模式)? 使用者物件的集合叫做模式。比如:scott使用者下有表emp、dept、salgrade等,還有幾個索引,還有一些約束等等,那麼scott使用者下所有物件的集合就叫scott模式。
可以把使用者下擁有的物件根據業務分類,不同的物件存放在不同的模式下。
新建的資料庫預設會建立不同的模式來管理物件。比如:information_schema、pg_catalog、pg_temp_1、pg_toast、pg_toast_temp_1、public 等。
不同的schema下可以有相同名字的表、函式等物件,互相之間是不衝突的。只要有許可權,每個schema的物件是可以互相呼叫的。
7.2、使用者與模式對應關係
一個使用者可以建立與擁有多個模式。
一個模式只能屬於一個使用者。
普通使用者建立模式時需要授權在指定的資料庫下建立模式的許可權。
GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }ON DATABASE database_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] 建立使用者示例
7.3、管理模式
授權
GRANT CREATE ON DATABASE testdb TO u1;
建立模式
create schema sport; create schema art;
檢視模式
testdb=> \dn
List of schemas
Name | Owner
------+-------
art | u1
public | postgres
sport | u1
授權某個模式下的物件訪問許可權給其它使用者,則需要先授權訪問該模式的許可權給其它使用者
GRANT USAGE ON SHEMA sch_name TO role_name;
GRANT SELECT ON sch_name.tab_name TO role_name;
刪除模式,模式只能由其擁有者或超級使用者刪除
drop schema schema_name;
刪除模式時同時刪除所依賴的物件
drop schema chema_name cascade;
7.4、Public模式
初始化資料庫時會自動建立一個Public模式,共享給所有使用者使用,任何使用者都可以把物件建立在該模式下,由於PostgreSQL下一個使用者對應多個模式,建立用 戶時沒有建立對應的預設模式,而物件都是基於模式管理的,所以建立一個公用 的模式public。
基於資料庫安全考慮,可以刪除public模式(可選)。
7.5、模式使用建議
Oracle資料庫一個使用者對應一個模式,且名字一樣。
PostgreSQL資料庫可以規劃成一個使用者對應多個模式。
基於簡化管理的目的,可以規劃成一個使用者對應一個與使用者名稱一樣的模式。
以上就是Part 7 - PG使用者與模式 的內容,大家可以進群一起探討,釘釘交流群:35,82,24,60,往期影片可以聯絡cuug諮詢老師
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544987/viewspace-2937865/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL技術大講堂 - Part 6:PG使用者與角色管理SQL
- PG技術大講堂 - Part 10:PostgreSQL資料庫管理SQL資料庫
- PostgreSQL技術大講堂 - Part 9:pg_hba.conf配置SQL
- PG技術大講堂 - Part 4:PostgreSQL例項結構SQL
- PG技術大講堂 - Part 3:PostgreSQL建庫與使用SQL
- PostgreSQL技術大講堂 - Part 8:PG物件許可權管理SQL物件
- PostgreSQL技術大講堂 - Part 2:PostgreSQL原始碼安裝SQL原始碼
- 從小白到專家 PostgreSQL技術大講堂 - Part 5:PG資料庫結構SQL資料庫
- 從小白到專家 PG技術大講堂 - Part 2:PG原始碼安裝原始碼
- PG技術大講堂 - 第13講:PostgreSQL Full-Page Writes 全頁寫SQL
- PostgreSQL技術大講堂 - 第31講:SQL調優技巧SQL
- PostgreSQL技術大講堂 - 第34講:調優工具pgBagder部署SQL
- PostgreSQL技術大講堂 - 第46講:poc-tpch測試SQL
- PostgreSQL技術大講堂 - 第45講:poc-tpcc測試SQL
- PostgreSQL技術大講堂 - 第33講:並行查詢管理SQL並行
- PostgreSQL技術大講堂 - 第32講:資料庫引數調整SQL資料庫
- PostgreSQL技術大講堂 - 第72講:索引與SQL調優之禁忌之戀SQL索引
- OneAPM大講堂 | Metrics, Tracing 和 Logging 的關係
- 7 大主題、9 位技術大咖!龍蜥大講堂7月硬核直播預告搶先看,今天見
- 沃趣微講堂 | Oracle叢集技術(一)Oracle
- 大資料技術與Hadoop之間的關係大資料Hadoop
- 今天開講,6 大演講主題、5 位技術大咖!龍蜥大講堂 5 月精彩直播預告搶先看
- 直播預告丨一名PGer帶你走進PostgreSQL的世界 - 雲和恩墨大講堂PG系列分享(1)SQL
- PostgreSQL:Schema 管理SQL
- 運維大師講堂,7天從入門到進階運維
- 中美技術人才矽谷大講堂 | JTalk 掘金線下活動第六期
- 工信部ICpower大講堂(南京)開班,特邀國際名家做核心技術分享
- PostgreSQL_通過schema控制使用者許可權SQL
- 【PG管理】postgresql資料庫管理相關SQL資料庫
- 大資料測試技術——課堂測試大資料
- Linux系統:Centos7下搭建PostgreSQL關係型資料庫LinuxCentOSSQL資料庫
- 沃趣微講堂 | Oracle叢集技術(二):GI與Oracle RACOracle
- RXJS元件間超越父子關係的相互通訊JS元件
- 探索 DevOps 和質量內建的相互關係dev
- 交叉熵、KL 散度 | 定義與相互關係熵
- PostgreSQL 原始碼解讀(255)- PG 14(Improving connection scalability)#7SQL原始碼
- PostgreSQL DBA(40) - PG 12 pg_promoteSQL
- 煥新啟航,「龍蜥大講堂」2023 年度招募來了!13 場技術分享先睹為快