本篇內(nèi)容介紹了“PostgreSQL數(shù)據(jù)庫只讀用戶的建立方法是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為密山企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站建設(shè),密山網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。1) 建立只讀用戶
create user user_reader password 'user_reader' ;
指定只讀用戶的搜索路徑
alter user user_reader set search_path=‘user’;
2) 授權(quán):
postgres 用戶登錄的需要授權(quán)的數(shù)據(jù)庫
grant select on all tables in schema schema—user to user_reader ;
3) 修改 pg_hba.conf 允許登錄 ,并重載配置文件
4) 用只讀用戶登錄數(shù)據(jù)庫,直接執(zhí)行select * from table 就可以了。
5) 如果不說第5步,你肯定是要回來找我的。
在第2步授權(quán)的地方,只授對表的訪問權(quán)限是不行的,還要授個對schema 的訪問權(quán)限。
grant usage on schema schema_user to user_reader; 嗯, 現(xiàn)在可以正常訪問了。搞定。
不過有跟oracle 應(yīng)該有相同的缺陷,如果新增的表,是無法訪問的,
需要重新執(zhí)行
grant select on all tables in schema schema—user to user_reader ;
這句,或者針對單獨的表的授權(quán)。 過以后 要做到新增加的 table 自動對只讀用戶授權(quán) ,那么下面這句就比較重要了。
alter default privileges in schema schema_name grant select on tables to schema_reader;
這條sql 的執(zhí)行, 需要用 table 的ower 去執(zhí)行,而不是超級用戶來執(zhí)行。 否則用只讀用戶去查詢,會報權(quán)限不足,無法查詢。
“PostgreSQL數(shù)據(jù)庫只讀用戶的建立方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!