grant db_role1 to db_user1,db_user2; 意為:給用戶1,2賦予角色1,兩個(gè)用戶就擁有了角色1對(duì)應(yīng)的權(quán)限。
創(chuàng)新互聯(lián)網(wǎng)站設(shè)計(jì),為客戶量身定制各類網(wǎng)站建設(shè)業(yè)務(wù),包括企業(yè)型、電子商務(wù)型、成都響應(yīng)式網(wǎng)站建設(shè)公司、行業(yè)門戶型等各類網(wǎng)站,實(shí)戰(zhàn)經(jīng)驗(yàn)豐富,成功案例眾多。以客戶利益為出發(fā)點(diǎn),創(chuàng)新互聯(lián)網(wǎng)站制作為客戶規(guī)劃、定制網(wǎng)站符合企業(yè)需求、帶有營(yíng)銷價(jià)值的網(wǎng)絡(luò)建站方案認(rèn)真對(duì)待每一個(gè)客戶,我們不用口頭的語(yǔ)言來(lái)吹擂我們的優(yōu)秀,近1000家的成功案例見(jiàn)證著我們的成長(zhǎng)。
1、角色
PostgreSQL使用角色的概念管理數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。 根據(jù)角色自身的設(shè)置不同,一個(gè)角色可以看作是一個(gè)數(shù)據(jù)庫(kù)用戶,或者一組數(shù)據(jù)庫(kù)用戶。 角色可以擁有數(shù)據(jù)庫(kù)對(duì)象(比如表)以及可以把這些對(duì)象上的權(quán)限賦予其它角色, 以控制誰(shuí)擁有訪問(wèn)哪些對(duì)象的權(quán)限。
2、角色的權(quán)限
一個(gè)數(shù)據(jù)庫(kù)角色可以有很多權(quán)限,這些權(quán)限定義了角色和擁有角色的用戶可以做的事情。
3、用戶
其實(shí)用戶和角色都是角色,只是用戶是具有登錄權(quán)限的角色。
4、賦予角色控制權(quán)限
可以使用GRANT 和REVOKE命令賦予用戶角色,來(lái)控制權(quán)限。
如:
create role db_role1 createdb createrole; --創(chuàng)建角色1
grant db_role1 to db_user1,db_user2; --給用戶1,2賦予角色1,兩個(gè)用戶就擁有了創(chuàng)建數(shù)據(jù)庫(kù)和創(chuàng)建角色的權(quán)限
revoke db_role1 from db_user1; --從用戶1移除角色1,用戶不再擁有角色1的權(quán)限。
擴(kuò)展資料
1、角色權(quán)限相關(guān)腳本
create role db_role1 LOGIN; --創(chuàng)建具有登錄權(quán)限的角色db_role1
create role db_role2 SUPERUSER; --創(chuàng)建具有超級(jí)用戶權(quán)限的角色
create role db_role3 CREATEDB; --創(chuàng)建具有創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限的角色
create role db_role4 CREATEROLE --創(chuàng)建具有創(chuàng)建角色權(quán)限的角色
alter role db_role1 nologin nocreatedb; --修改角色取消登錄和創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限
2、用戶相關(guān)腳本
create user db_user1 password '123'; --創(chuàng)建用戶
create role db_user1 password '123' LOGIN; --同上一句等價(jià)
drop user db_user1; --刪除用戶
alter user db_user1 password '123456'; --修改密碼
alter user db_user1 createdb createrole; --對(duì)用戶授權(quán)
參考資料
百度百科-postgresql
您好,1)用戶實(shí)用程序:
createdb 創(chuàng)建一個(gè)新的PostgreSQL的數(shù)據(jù)庫(kù)(和SQL語(yǔ)句:CREATE DATABASE 相同)
createuser 創(chuàng)建一個(gè)新的PostgreSQL的用戶(和SQL語(yǔ)句:CREATE USER 相同)
dropdb 刪除數(shù)據(jù)庫(kù)
dropuser 刪除用戶
pg_dump 將PostgreSQL數(shù)據(jù)庫(kù)導(dǎo)出到一個(gè)腳本文件
pg_dumpall 將所有的PostgreSQL數(shù)據(jù)庫(kù)導(dǎo)出到一個(gè)腳本文件
pg_restore 從一個(gè)由pg_dump或pg_dumpall程序?qū)С龅哪_本文件中恢復(fù)PostgreSQL數(shù)據(jù)庫(kù)
psql 一個(gè)基于命令行的PostgreSQL交互式客戶端程序
vacuumdb 清理和分析一個(gè)PostgreSQL數(shù)據(jù)庫(kù),它是客戶端程序psql環(huán)境下SQL語(yǔ)句VACUUM的shell腳本封裝,二者功能完全相同
(2)系統(tǒng)實(shí)用程序
initdb 創(chuàng)建一個(gè)用于存儲(chǔ)數(shù)據(jù)庫(kù)的PostgreSQL數(shù)據(jù)目錄,并創(chuàng)建預(yù)定義的模板數(shù)據(jù)庫(kù)template0和template1,生成共享目錄表 catalog;此程序通常只在安裝PostgreSQL時(shí)運(yùn)行一次
initlocation 創(chuàng)建一個(gè)輔助的PostgreSQL數(shù)據(jù)庫(kù)存儲(chǔ)區(qū)域
ipcclean 從停止的PostgreSQL服務(wù)器中清除共享內(nèi)在和孤立信號(hào)標(biāo)志
pg_ctl 啟動(dòng)、停止、重啟PostgreSQL服務(wù)(比如:pg_ctl start 啟動(dòng)PostgreSQL服務(wù),它和service postgresql start相同)
pg_controldata 顯示PostgreSQL服務(wù)的內(nèi)部控制信息
postgres PostgreSQL單用戶模式的數(shù)據(jù)庫(kù)服務(wù)
postmaster PostgreSQL多用戶模式的數(shù)據(jù)庫(kù)服務(wù)
4.這里面最重要的是psql這個(gè)客戶端程序最為重要。啟用客戶端程序psql的方法是:
切換到PostgreSQL預(yù)定義的數(shù)據(jù)庫(kù)超級(jí)用戶postgres,啟用客戶端程序psql,并連接到自己想要的數(shù)據(jù)庫(kù),比如說(shuō):
psql template1
出現(xiàn)以下界面,說(shuō)明已經(jīng)進(jìn)入到想要的數(shù)據(jù)庫(kù),可以進(jìn)行想要的操作了。
template1=#
5.在數(shù)據(jù)庫(kù)中的一些命令:
template1=# \l 查看系統(tǒng)中現(xiàn)存的數(shù)據(jù)庫(kù)
template1=# \q 退出客戶端程序psql
template1=# \c 從一個(gè)數(shù)據(jù)庫(kù)中轉(zhuǎn)到另一個(gè)數(shù)據(jù)庫(kù)中,如template1=# \c sales 從template1轉(zhuǎn)到sales
template1=# \dt 查看表
template1=# \d 查看表結(jié)構(gòu)
template1=# \di 查看索引
6.要注意隨時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行清理、收回磁盤空間并更新統(tǒng)計(jì)信息,使用下面的命令就搞定!
vaccumdb -d sales -z
-a 對(duì)所有的數(shù)據(jù)庫(kù)操作
-z 保證不斷地刪除失效的行,節(jié)約磁盤空間,將統(tǒng)計(jì)信息更新為最近的狀態(tài)
7.PostgreSQL用戶認(rèn)證
PostgreSQL數(shù)據(jù)目錄中的pg_hba.conf的作用就是用戶認(rèn)證,可以在/var/lib/pgsql/data中找到。
有以下幾個(gè)例子可以看看:
(1)允許在本機(jī)上的任何身份連接任何數(shù)據(jù)庫(kù)
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all trust(無(wú)條件進(jìn)行連接)
(2)允許IP地址為192.168.1.x的任何主機(jī)與數(shù)據(jù)庫(kù)sales連接
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
host sales all 192.168.1.0 255.255.255.0 ident sameuser(表明任何操作系統(tǒng)用戶都能夠以同名數(shù)據(jù)庫(kù)用戶進(jìn)行連接)
8.看了那么多,來(lái)一個(gè)完整的創(chuàng)建PostgreSQL數(shù)據(jù)庫(kù)用戶的示例吧
(1)進(jìn)入PostgreSQL高級(jí)用戶
(2)啟用客戶端程序,并進(jìn)入template1數(shù)據(jù)庫(kù)
psql template1
(3)創(chuàng)建用戶
template1=# CREATE USER hellen WITH ENCRYPED PASSWORD'zhenzhen'
(4)因?yàn)樵O(shè)置了密碼,所以要編輯pg_hba.conf,使用戶和配置文件同步。
在原有記錄上面添加md5
local all hellen md5
(4)使用新用戶登錄數(shù)據(jù)庫(kù)
template1=# \q
psql -U hellen -d template1
PS:在一個(gè)數(shù)據(jù)庫(kù)中如果要切換用戶,要使用如下命令:
template1=# \!psql -U tk -d template1
9.設(shè)定用戶特定的權(quán)限
還是要用例子來(lái)說(shuō)明:
創(chuàng)建一個(gè)用戶組:
sales=# CREATE GROUP sale;
添加幾個(gè)用戶進(jìn)入該組
sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3;
授予用戶級(jí)sale針對(duì)表employee和products的SELECT權(quán)限
sales=# GRANT SELECT ON employee,products TO GROUP sale;
在sale中將用戶user2刪除
sales=# ALTER GROP sale DROP USER sale2;
10.備份數(shù)據(jù)庫(kù)
可以使用pg_dump和pg_dumpall來(lái)完成。比如備份sales數(shù)據(jù)庫(kù):
pg_dump sales/home/tk/pgsql/backup/1.bak
安裝完成之后,第一次使用PostgreSQL之前需要?jiǎng)?chuàng)建一個(gè)用戶和一個(gè)數(shù)據(jù)庫(kù):
sudo -u postgres createuser user_namesudo -u postgres createdb -O user_name database_name
之后在終端中輸入如下指令就能開(kāi)始使用數(shù)據(jù)庫(kù)了:
psql database_name
我們使用Postgresql數(shù)據(jù)庫(kù)的時(shí)候,默認(rèn)都是用postgres用戶進(jìn)行數(shù)據(jù)操作。但是有時(shí)為了數(shù)據(jù)安全,我們會(huì)另外建一些賬號(hào)給相關(guān)的工作人員使用。那么Postgresql數(shù)據(jù)庫(kù)中如何新建登錄用戶呢?下面我給大家分享一下。
工具/材料
pgAdmin4
01
首先打開(kāi)Postgresql的管理工具pgAdmin4,接著雙擊服務(wù)器名稱,如下圖所示
02
在彈出的Connect to Server界面中輸入postgres用戶的密碼,然后點(diǎn)擊OK按鈕,如下圖所示
03
進(jìn)入到數(shù)據(jù)庫(kù)以后右鍵單擊"登錄/組角色"選項(xiàng),選擇Create下面的Login/Group Role選項(xiàng),如下圖所示
04
接下來(lái)會(huì)彈出創(chuàng)建登錄用戶的界面,我們先給用戶起一個(gè)名字,盡量是英文,如下圖所示
05
然后切換到Definition頁(yè)卡,給登錄用戶設(shè)置一個(gè)登錄密碼,如下圖所示,注意Connection limit要設(shè)置為-1
06
接著切換到Privileges界面,這里需要給登錄用戶設(shè)置一下操作權(quán)限,大家可以根據(jù)自己的需要設(shè)置即可,如下圖所示
07
接下來(lái)切換到Membership頁(yè)卡,給登錄用戶設(shè)置一個(gè)角色,這里我直接把管理員的角色給它了,如下圖所示
08
上述設(shè)置完畢以后回到數(shù)據(jù)庫(kù)主界面,我們就可以看到"登錄/組角色"下面就已經(jīng)有我們新建的登錄用戶了,如下圖所示
09
最后我們斷開(kāi)當(dāng)前的連接,用新建的用戶進(jìn)行登錄,如果登錄正常的話則代表一切設(shè)置成功,如下圖所示
當(dāng)前文章:postgresql創(chuàng)建用戶的簡(jiǎn)單介紹
轉(zhuǎn)載源于:http://chinadenli.net/article46/dsdgghg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、微信小程序、網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)、小程序開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)