濮阳杆衣贸易有限公司

主頁 > 知識庫 > pgsql之create user與create role的區(qū)別介紹

pgsql之create user與create role的區(qū)別介紹

熱門標簽:移動外呼系統(tǒng)模擬題 江蘇400電話辦理官方 廣州電銷機器人公司招聘 地圖標注要花多少錢 濟南外呼網(wǎng)絡電話線路 電話機器人怎么換人工座席 400電話申請客服 電銷機器人能補救房產(chǎn)中介嗎 天津開發(fā)區(qū)地圖標注app

create user的語法

CREATE USER name [ [ WITH ] option [ ... ] ] 
where option can be: 
  SUPERUSER | NOSUPERUSER
 | CREATEDB | NOCREATEDB
 | CREATEROLE | NOCREATEROLE
 | CREATEUSER | NOCREATEUSER
 | INHERIT | NOINHERIT
 | LOGIN | NOLOGIN
 | REPLICATION | NOREPLICATION
 | BYPASSRLS | NOBYPASSRLS
 | CONNECTION LIMIT connlimit
 | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
 | VALID UNTIL 'timestamp'
 | IN ROLE role_name [, ...]
 | IN GROUP role_name [, ...]
 | ROLE role_name [, ...]
 | ADMIN role_name [, ...]
 | USER role_name [, ...]
 | SYSID uid

例如:

create user test with replication createrole createdb login password 'test123';

with 后面的部分描述的是“系統(tǒng)權限”或者數(shù)據(jù)庫用戶的屬性。使用\du命令查看,則對應著List of roles Attributes列。如圖:

create user與create role的區(qū)別

官網(wǎng)上的描述是:

CREATE USER is now an alias for CREATE ROLE. The only difference is that when the command is spelled CREATE USER, LOGIN is assumed by default, whereas NOLOGIN is assumed when the command is spelled CREATE ROLE.

也就是說create user 默認有l(wèi)ogin權限,而create role沒有。

補充:關于PostgreSQL數(shù)據(jù)庫中的表空間,user,role,權限,模式(schema)的概念.

表空間:

在PG中,表空間是文件系統(tǒng)中位置的一個鏈接,也就是一個目錄.

表空間是一個可以保存所有其他對象的容器,如表,索引等.

在很多情況下,這樣的功能是很有用的.也就是說:在一個指定的位置保存數(shù)據(jù),而不是在默認的位置.

存在如下一個場景:當我們用完初始化數(shù)據(jù)庫集群所使用的分區(qū)上的空間時,就可以使用表空間.

另外一個適用的場景是:處于性能考慮,移動具體對象到速度不同的磁盤上.

可以在一個比較快磁盤的表空間上創(chuàng)建一組頻繁訪問的對象.

或者是,在比較快的磁盤上使用OLTP業(yè)務,在比較慢的磁盤上運行OLAP業(yè)務.

當我們初始化一個集群的時候,可以得到兩個默認表空間,

一個表空間成為pg_default,所有用戶創(chuàng)建的并且未指定一個表空間的對象講在pg_default表空間內(nèi)被創(chuàng)建.

pg_default表空間的位置PGDATA下的基礎目錄.

另一個表空間是pg_global,它持有集群(cluster)中所有數(shù)據(jù)庫共享的系統(tǒng)表.

模式:

模式(schema):我們在pg數(shù)據(jù)庫中創(chuàng)建的任何對象(表,索引,視圖等)都會在一個模式下被創(chuàng)建.

當創(chuàng)建對象時,如果未指定模式,這些對象將會在默認的模式下被創(chuàng)建.這個模式叫做public.

一個例外情況是另一個模式首先出現(xiàn)在search_path中.

角色和權限

在pg中,一個角色幾乎與一個用戶相同.因為一個角色可以是用戶,也可以是一個用戶組.

create user命令等同于create role,除了一點:create user有隱含的login權限.而create role不會有該權限.

每個角色是整個cluster所共享的,角色不是某個數(shù)據(jù)庫特有的.

為了在數(shù)據(jù)庫實現(xiàn)有效操作,用戶必須獲得相關權限.

在pg中,權限可以針對數(shù)據(jù)庫級別設定,也可以針對單個對象級別(表,視圖,函數(shù)等)進行設定.

權限有select,delete,update,insert,execute

還有創(chuàng)建對象的權限,刪除對象的權限

在pg中,可以把一個特定權限給一個user

也可以把一個特定權限給一個role

role的一個重要特點就是可以被繼承.

舉例:

我們可以創(chuàng)建一個report_user角色,然后在一組table中將select權限授予這個角色.

然后,為從事報告工作的每個人各自創(chuàng)建user,并將report_user 角色授權給這些user.

當其中一個user離開部門時,我們只要刪除該用戶所創(chuàng)建的登錄即可.

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PGSQL 實現(xiàn)查詢今天,昨天的數(shù)據(jù),一個月之內(nèi)的數(shù)據(jù)
  • pgsql 變量賦值方法及注意事項
  • pgsql 實現(xiàn)分頁查詢方式
  • Postgresql 存儲過程(plpgsql)兩層for循環(huán)的操作
  • pgsql之pg_stat_replication的使用詳解
  • pgsql 如何刪除仍有活動鏈接的數(shù)據(jù)庫
  • pgsql 解決包含有單引號的字符串操作

標簽:海西 昭通 寶雞 辛集 溫州 榆林 杭州 濮陽

巨人網(wǎng)絡通訊聲明:本文標題《pgsql之create user與create role的區(qū)別介紹》,本文關鍵詞  pgsql,之,create,user,與,role,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pgsql之create user與create role的區(qū)別介紹》相關的同類信息!
  • 本頁收集關于pgsql之create user與create role的區(qū)別介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    工布江达县| 乳山市| 本溪| 潜山县| 芦溪县| 定兴县| 固始县| 乐亭县| 城固县| 阳西县| 依兰县| 阿瓦提县| 上思县| 定西市| 扶沟县| 大冶市| 应城市| 鄯善县| 城市| 宁海县| 大丰市| 徐闻县| 巫溪县| 临邑县| 兴隆县| 太仆寺旗| 三门县| 百色市| 浮山县| 华安县| 大姚县| 牙克石市| 阳东县| 准格尔旗| 博湖县| 贵州省| 稷山县| 镶黄旗| 勃利县| 行唐县| 娱乐|