真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

postgresql用戶的簡單介紹

Postgresql數(shù)據(jù)庫如何新建登錄用戶

我們使用Postgresql數(shù)據(jù)庫的時(shí)候,默認(rèn)都是用postgres用戶進(jìn)行數(shù)據(jù)操作。但是有時(shí)為了數(shù)據(jù)安全,我們會另外建一些賬號給相關(guān)的工作人員使用。那么Postgresql數(shù)據(jù)庫中如何新建登錄用戶呢?下面我給大家分享一下。

成都創(chuàng)新互聯(lián)從2013年成立,先為金林等服務(wù)建站,金林等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為金林企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

工具/材料

pgAdmin4

01

首先打開Postgresql的管理工具pgAdmin4,接著雙擊服務(wù)器名稱,如下圖所示

02

在彈出的Connect to Server界面中輸入postgres用戶的密碼,然后點(diǎn)擊OK按鈕,如下圖所示

03

進(jìn)入到數(shù)據(jù)庫以后右鍵單擊"登錄/組角色"選項(xiàng),選擇Create下面的Login/Group Role選項(xiàng),如下圖所示

04

接下來會彈出創(chuàng)建登錄用戶的界面,我們先給用戶起一個(gè)名字,盡量是英文,如下圖所示

05

然后切換到Definition頁卡,給登錄用戶設(shè)置一個(gè)登錄密碼,如下圖所示,注意Connection limit要設(shè)置為-1

06

接著切換到Privileges界面,這里需要給登錄用戶設(shè)置一下操作權(quán)限,大家可以根據(jù)自己的需要設(shè)置即可,如下圖所示

07

接下來切換到Membership頁卡,給登錄用戶設(shè)置一個(gè)角色,這里我直接把管理員的角色給它了,如下圖所示

08

上述設(shè)置完畢以后回到數(shù)據(jù)庫主界面,我們就可以看到"登錄/組角色"下面就已經(jīng)有我們新建的登錄用戶了,如下圖所示

09

最后我們斷開當(dāng)前的連接,用新建的用戶進(jìn)行登錄,如果登錄正常的話則代表一切設(shè)置成功,如下圖所示

如何查看postgresql數(shù)據(jù)庫用戶

查詢表pg_authid:

該系統(tǒng)表存儲有關(guān)數(shù)據(jù)庫認(rèn)證的角色信息,在PostgreSQL中角色可以表現(xiàn)為用戶和組兩種形式。對于用戶而言只是設(shè)置了rolcanlogin標(biāo)志的角色。

由于該表包含口令數(shù)據(jù),所以它不是公共可讀的。PostgreSQL中提供了另外一個(gè)建立在該表之上的系統(tǒng)視圖pg_roles,該視圖將口令字段填成空白。

PostgreSQL的用戶,角色跟權(quán)限管理怎么解決

Pg權(quán)限分為兩部分,一部分是“系統(tǒng)權(quán)限”或者數(shù)據(jù)庫用戶的屬性,可以授予role或user(兩者區(qū)別在于login權(quán)限);一部分為數(shù)據(jù)庫對象上的操作權(quán)限。對超級用戶不做權(quán)限檢查,其它走acl。對于數(shù)據(jù)庫對象,開始只有所有者和超級用戶可以做任何操作,其它走acl。在pg里,對acl模型做了簡化,組和角色都是role,用戶和角色的區(qū)別是角色沒有l(wèi)ogin權(quán)限。

可以用下面的命令創(chuàng)建和刪除角色,

CREATE ROLE name;

DROP ROLE name;

為了方便,也可以在 shell 命令上直接調(diào)用程序 createuser 和 dropuser,這些工具對相應(yīng)命令提供了封裝:

createuser name

dropuser name

數(shù)據(jù)庫對象上的權(quán)限有:SELECT,INSERT, UPDATE,DELETE,RULE, REFERENCES,TRIGGER,CREATE, TEMPORARY,EXECUTE,和 USAGE等,具體見下面定義

typedefuint32AclMode; /* a bitmask of privilege bits */

#define ACL_INSERT (10) /* forrelations */

#defineACL_SELECT (11)

#defineACL_UPDATE (12)

#defineACL_DELETE (13)

#defineACL_TRUNCATE (14)

#defineACL_REFERENCES (15)

#defineACL_TRIGGER (16)

#defineACL_EXECUTE (17) /* for functions */

#defineACL_USAGE (18) /* for languages, namespaces, FDWs, and

* servers */

#defineACL_CREATE (19) /* for namespaces and databases */

#defineACL_CREATE_TEMP (110) /* for databases */

#defineACL_CONNECT (111) /* for databases */

#defineN_ACL_RIGHTS 12 /* 1plus the last 1

#defineACL_NO_RIGHTS 0

/*Currently, SELECT ... FOR UPDATE/FOR SHARE requires UPDATE privileges */

#defineACL_SELECT_FOR_UPDATE ACL_UPDATE

我們可以用特殊的名字 PUBLIC 把對象的權(quán)限賦予系統(tǒng)中的所有角色。 在權(quán)限聲明的位置上寫 ALL,表示把適用于該對象的所有權(quán)限都賦予目標(biāo)角色。

beigang=# grantall on schema csm_ca to public;

GRANT

beigang=# revoke all on schema csm_ca frompublic;

REVOKE

beigang=#

每種對象的all權(quán)限定義如下:

/*

* Bitmasks defining "allrights" for each supported object type

*/

#defineACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES)

#defineACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER)

#defineACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE)

#defineACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT)

#define ACL_ALL_RIGHTS_FDW (ACL_USAGE)

#defineACL_ALL_RIGHTS_FOREIGN_SERVER (ACL_USAGE)

#defineACL_ALL_RIGHTS_FUNCTION (ACL_EXECUTE)

#defineACL_ALL_RIGHTS_LANGUAGE (ACL_USAGE)

#defineACL_ALL_RIGHTS_LARGEOBJECT (ACL_SELECT|ACL_UPDATE)

#defineACL_ALL_RIGHTS_NAMESPACE (ACL_USAGE|ACL_CREATE)

#defineACL_ALL_RIGHTS_TABLESPACE (ACL_CREATE)

用戶的屬性可參見下圖:

視圖 pg_roles提供訪問數(shù)據(jù)庫角色有關(guān)信息的接口。 它只是一個(gè) pg_authid 表的公開可讀部分的視圖,把口令字段用空白填充了。

Table 42-39.pg_roles字段

名字

類型

引用

描述

rolname

name

角色名

rolsuper

bool

有超級用戶權(quán)限的角色

rolcreaterole

bool

可以創(chuàng)建更多角色的角色

rolcreatedb

bool

可以創(chuàng)建數(shù)據(jù)庫的角色

rolcatupdate

bool

可以直接更新系統(tǒng)表的角色。(除非這個(gè)字段為真,否則超級用戶也不能干這個(gè)事情。)

rolcanlogin

bool

可以登錄的角色,也就是說,這個(gè)角色可以給予初始化會話認(rèn)證的標(biāo)識符。

rolpassword

text

不是口令(總是 ********)

rolvaliduntil

timestamptz

口令失效日期(只用于口令認(rèn)證);如果沒有失效期,為 NULL

rolconfig

text[]

運(yùn)行時(shí)配置變量的會話缺省


網(wǎng)站欄目:postgresql用戶的簡單介紹
標(biāo)題來源:http://weahome.cn/article/dsdjsgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部