如何在postgresql數(shù)據(jù)庫中創(chuàng)建一個(gè)只讀用戶?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)西工,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575在pg數(shù)據(jù)庫中創(chuàng)建只讀用戶可以采用如下方法。大體實(shí)現(xiàn)就是將特定schema的相關(guān)權(quán)限賦予只讀用戶。
--創(chuàng)建用戶 CREATE USER readonly WITH ENCRYPTED PASSWORD '123456'; --設(shè)置用戶默認(rèn)開啟只讀事務(wù) ALTER USER readonly SET default_transaction_read_only = ON; --將schema中usage權(quán)限賦予給readonly用戶,訪問所有已存在的表 GRANT usage ON SCHEMA xyh TO readonly; --將schema中表的查詢權(quán)限賦予給readonly用戶,訪問所有已存在的表 GRANT SELECT ON ALL tables IN SCHEMA xyh TO readonly; --未來訪問xyh模式下所有新建的表: ALTER DEFAULT privileges IN SCHEMA xyh GRANT SELECT ON tables TO readonly;
補(bǔ)充:Postgresql創(chuàng)建只讀用戶,并開放部分表的權(quán)限
我們團(tuán)隊(duì)研發(fā)的巡檢平臺(tái),協(xié)助用戶進(jìn)行常規(guī)作業(yè)兩年之久,平臺(tái)存儲(chǔ)了大約300TB的非結(jié)構(gòu)化數(shù)據(jù)。
目前,因甲方總部的要求,需要非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)平臺(tái)從我們平臺(tái)中抽取所有的非結(jié)構(gòu)化數(shù)據(jù),便于他們對非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行智能化處理。
我們采用的是postgresql數(shù)據(jù)庫,為此我們需要為非結(jié)構(gòu)化平臺(tái)廠家創(chuàng)建具備只讀權(quán)限的用戶,并向其開放部分非結(jié)構(gòu)化的表,便于他們進(jìn)行數(shù)據(jù)抽取工作。
在postgresql數(shù)據(jù)庫中,創(chuàng)建只讀用戶,并開放部分表權(quán)限的方法如下:
1、創(chuàng)建角色信息
角色名稱為poss_sc
CREATE ROLE poss_sc;
2、授予訪問權(quán)限
poss為模式名稱,poss_sc為角色名稱
GRANT USAGE ON SCHEMA poss TO poss_sc;
3、設(shè)定訪問指定表的權(quán)限
將非結(jié)構(gòu)化數(shù)據(jù)相關(guān)的表的查詢權(quán)限授予相關(guān)的角色
GRANT SELECT ON poss.dm_image,poss.dm_defect,poss.dm_result_data,poss.dm_hidden_trouble TO poss_sc;
4、創(chuàng)建可登錄的用戶(并帶有過期的參數(shù)設(shè)置),并與角色關(guān)聯(lián)
登錄用戶名為poss_sc_user,過期時(shí)間為2019-11-30 23:00;
CREATE USER poss_sc_user WITH PASSWORD 'Poss_sc_$%^' VALID UNTIL '2019-11-30 23:00'; GRANT poss_sc TO poss_sc_user;
看完上述內(nèi)容,你們掌握如何在postgresql數(shù)據(jù)庫中創(chuàng)建一個(gè)只讀用戶的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!