欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年01月16日 10:13:15   作者:怠惰的小小白  
這篇文章主要介紹了pgsql之create user與create role的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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)權(quán)限”或者數(shù)據(jù)庫用戶的屬性。使用\du命令查看,則對應(yīng)著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權(quán)限,而create role沒有。

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

表空間:

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

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

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

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

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

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

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

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

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

pg_default表空間的位置PGDATA下的基礎(chǔ)目錄.

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

模式:

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

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

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

角色和權(quán)限

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

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

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

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

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

權(quán)限有select,delete,update,insert,execute

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

在pg中,可以把一個特定權(quán)限給一個user

也可以把一個特定權(quán)限給一個role

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

舉例:

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

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

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

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

相關(guān)文章

  • PostgreSQL處理時間段、時長轉(zhuǎn)為秒、分、小時代碼示例

    PostgreSQL處理時間段、時長轉(zhuǎn)為秒、分、小時代碼示例

    最近在操作數(shù)據(jù)庫時,遇到頻繁的時間操作,每次弄完了就忘了,今天痛定思痛,下定決心對postgres的時間操作進行一下總結(jié),這篇文章主要給大家介紹了關(guān)于PostgreSQL處理時間段、時長轉(zhuǎn)為秒、分、小時的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • PostgreSQL 安裝和簡單使用

    PostgreSQL 安裝和簡單使用

    ostgreSQL是現(xiàn)在比較流行的數(shù)據(jù)庫之一,這個起源于伯克利(BSD)的數(shù)據(jù)庫研究計劃目前已經(jīng)衍生成一項國際開發(fā)項目,并且有非常廣泛的用戶。
    2009-08-08
  • 使用psql操作PostgreSQL數(shù)據(jù)庫命令詳解

    使用psql操作PostgreSQL數(shù)據(jù)庫命令詳解

    這篇文章主要為大家介紹了使用psql操作PostgreSQL數(shù)據(jù)庫命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Postgresql JSON對象和數(shù)組查詢功能實現(xiàn)

    Postgresql JSON對象和數(shù)組查詢功能實現(xiàn)

    這篇文章主要介紹了Postgresql JSON對象和數(shù)組查詢功能實現(xiàn),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • PostgreSql?JDBC事務(wù)操作方法詳解

    PostgreSql?JDBC事務(wù)操作方法詳解

    這篇文章主要為大家介紹了PostgreSql?JDBC事務(wù)操作方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 在PostgreSQL中設(shè)置表中某列值自增或循環(huán)方式

    在PostgreSQL中設(shè)置表中某列值自增或循環(huán)方式

    這篇文章主要介紹了在PostgreSQL中設(shè)置表中某列值自增或循環(huán)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL教程(九):事物隔離介紹

    PostgreSQL教程(九):事物隔離介紹

    這篇文章主要介紹了PostgreSQL教程(九):事物隔離介紹,本文主要針對讀已提交和可串行化事物隔離級別進行說明和比較,需要的朋友可以參考下
    2015-05-05
  • PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用

    PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用

    這PostgreSQL中提供了窗口函數(shù),一個窗口函數(shù)在一系列與當前行有某種關(guān)聯(lián)的表行上進行一種計算。下面這篇文章主要給大家介紹了關(guān)于PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用的相關(guān)資料,需要的朋友可以參考下
    2019-03-03
  • 詳解PostgreSQL 語法中關(guān)鍵字的添加

    詳解PostgreSQL 語法中關(guān)鍵字的添加

    這篇文章主要介紹了詳解PostgreSQL 語法中關(guān)鍵字的添加的相關(guān)資料,這里說明下在parser語法解析模塊添加關(guān)鍵字,需要的朋友可以參考下
    2017-08-08
  • PostgreSQL15.x安裝的詳細教程

    PostgreSQL15.x安裝的詳細教程

    PostgreSQL 是一個功能強大的開源關(guān)系型數(shù)據(jù)庫系統(tǒng),基于 C 語言實現(xiàn),采用 PostgreSQL 許可證,這是一種自由軟件許可證,允許用戶自由使用、修改和分發(fā)源代碼,所以本文將給大家介紹PostgreSQL15.x安裝的詳細教程,需要的朋友可以參考下
    2024-09-09

最新評論