資源描述:
《Postgresql角色創(chuàng)建.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一、角色與用戶的區(qū)別角色就相當于崗位:角色可以是經(jīng)理,助理。用戶就是具體的人:比如陳XX經(jīng)理,朱XX助理,王XX助理。在PostgreSQL里沒有區(qū)分用戶和角色的概念,"CREATEUSER"為"CREATEROLE"的別名,這兩個命令幾乎是完全相同的,唯一的區(qū)別是"CREATEUSER"命令創(chuàng)建的用戶默認帶有LOGIN屬性,而"CREATEROLE"命令創(chuàng)建的用戶默認不帶LOGIN屬性(CREATEUSERisequivalenttoCREATEROLEexceptthatCREATEUSERassumesLO
2、GINbydefault,whileCREATEROLEdoesnot)。1.1創(chuàng)建角色與用戶CREATEROLE語法CREATEROLEname[[WITH]option[...]]whereoptioncanbe:SUPERUSER
3、NOSUPERUSER
4、CREATEDB
5、NOCREATEDB
6、CREATEROLE
7、NOCREATEROLE
8、CREATEUSER
9、NOCREATEUSER
10、INHERIT
11、NOINHERIT
12、LOGIN
13、NOLOGIN
14、REPLICATION
15、NOREPLICATION
16、CO
17、NNECTIONLIMITconnlimit
18、[ENCRYPTED
19、UNENCRYPTED]PASSWORD'password'
20、VALIDUNTIL'timestamp'
21、INROLErole_name[,...]
22、INGROUProle_name[,...]
23、ROLErole_name[,...]
24、ADMINrole_name[,...]
25、USERrole_name[,...]
26、SYSIDuid創(chuàng)建david角色和sandy用戶postgres=#CREATEROLEdavid; //默認不帶LOGIN屬性
27、CREATEROLEpostgres=#CREATEUSERsandy; //默認具有LOGIN屬性CREATEROLEpostgres=#duListofrolesRolename
28、Attributes
29、Memberof-----------+------------------------------------------------+-----------david
30、Cannotlogin
31、{}postgres
32、Superuser,Createrole,CreateDB,Replication
33、{}s
34、andy
35、
36、{}postgres=#postgres=#SELECTrolnamefrompg_roles;rolname----------postgresdavidsandy(3rows)postgres=#SELECTusenamefrompg_user;//角色david創(chuàng)建時沒有分配login權(quán)限,所以沒有創(chuàng)建用戶usename----------postgressandy(2rows)postgres=#1.2驗證LOGIN屬性postgres@CS-DEV:~>psql-Udavidpsql:FAT
37、AL:role"david"isnotpermittedtologinpostgres@CS-DEV:~>psql-Usandypsql:FATAL:database"sandy"doesnotexistpostgres@CS-DEV:~>psql-Usandy-dpostgrespsql(9.1.0)Type"help"forhelp.postgres=>dtNorelationsfound.postgres=>用戶sandy可以登錄,角色david不可以登錄。1.3修改david的權(quán)限,增加LOGIN權(quán)限p
38、ostgres=#ALTERROLEdavidLOGIN;ALTERROLEpostgres=#duListofrolesRolename
39、Attributes
40、Memberof-----------+------------------------------------------------+-----------david
41、
42、{}postgres
43、Superuser,Createrole,CreateDB,Replication
44、{}sandy
45、
46、{}postgres=#SELECTrolnamefro
47、mpg_roles;rolname----------postgressandydavid(3rows)postgres=#SELECTusenamefrompg_user; //給david角色分配login權(quán)限,系統(tǒng)將自動創(chuàng)建同名用戶davidusename----------postgressandydavid(3rows)postgres=#1.4再次驗證LOG