PostgreSQL插件那么多,怎樣管理最高效?
云服務(wù)環(huán)境下,如何讓客戶更方便地在各個(gè)PostgreSQL的版本下安裝插件和擴(kuò)展功能,成為云服務(wù)廠商的一個(gè)挑戰(zhàn)。華為云RDS for PostgreSQL通過插件管理功能,很好地解決了PostgreSQL版本與插件耦合的問題,幫助用戶更直觀、更快速地安裝管理數(shù)據(jù)庫插件。
1關(guān)于PostgreSQL插件
眾所周知,PostgreSQL支持很多插件,其中包括第三方插件。
lPostgreSQL發(fā)展至今,華為云已經(jīng)從PostgreSQL 9.5 版本演進(jìn)到 PostgreSQL 14 版本,目前共支持7個(gè)大版本,每個(gè)大版本可以支持的插件并不完全相同,因此,判斷每個(gè)版本支持哪些插件變得繁瑣。
l如我們所知,部分插件在安裝時(shí),必須要修改 shared_preload_libraries這個(gè)參數(shù),手動(dòng)修改費(fèi)時(shí)費(fèi)力。
l安裝插件時(shí)只有超級(jí)用戶才能進(jìn)行安裝,而超級(jí)用戶權(quán)限太大,可以執(zhí)行很多高危操作,容易造成云數(shù)據(jù)庫異常不可用等非常嚴(yán)重的影響。
以上種種可以看出PostgreSQL插件安裝及管理相對(duì)復(fù)雜。為了讓客戶更方便地安裝插件,華為云開發(fā)了插件管理功能,客戶只需在交互界面上點(diǎn)擊需要安裝的插件,之后的安裝就交由華為云后臺(tái)完成即可,簡單方便,省時(shí)省力。
2RDS for PostgreSQL插件管理功能
PostgreSQL支持的插件很多,而且當(dāng)前數(shù)據(jù)庫支持安裝哪些插件,用戶并不能清楚直觀地看出來,華為云插件管理功能將當(dāng)前數(shù)據(jù)庫支持安裝的插件以列表形式全部顯示出來,方便用戶查看安裝。
前面提到,PostgreSQL的部分插件安裝時(shí),需要修改參數(shù) shared_preload_libraries,華為云插件管理功能同時(shí)支持修改該參數(shù)。修改方法有兩種,可以靈活取用:
方法一:通過管理參數(shù)值功能批量修改 shared_preload_libraries參數(shù)。
方法二:在安裝插件前,單獨(dú)修改參數(shù)值實(shí)現(xiàn)對(duì)應(yīng)插件庫的加載。
3注意事項(xiàng)
shared_preload_libraries參數(shù)修改后需要重啟實(shí)例才能生效。對(duì)于包含只讀實(shí)例的PostgreSQL服務(wù),修改主實(shí)例參數(shù)后,只讀實(shí)例的參數(shù)將自動(dòng)同步修改,在重啟實(shí)例時(shí),需要同時(shí)重啟只讀實(shí)例。
部分插件在使用時(shí),需要同時(shí)添加對(duì)應(yīng)的GUC參數(shù)才能正常使用,比如 pg_cron插件,需要先修改參數(shù)“cron.database_name”為需要使用的數(shù)據(jù)庫。
部分插件安裝或卸載時(shí),會(huì)同步安裝或卸載其依賴插件,以及相關(guān)依賴表。例如:postgis_sfcgal插件依賴于postgis插件,創(chuàng)建插件postgis_sfcgal時(shí),postgis插件會(huì)被優(yōu)先自動(dòng)同步創(chuàng)建;同時(shí),卸載postgis插件時(shí),會(huì)同步卸載postgis_sfcgal插件。
4結(jié)束語
華為云RDS for PostgreSQL插件管理功能,很好地幫助用戶解決了到處網(wǎng)羅當(dāng)前版本支持哪些插件的繁瑣;以及不知道如何安裝插件和知道方法后安裝操作復(fù)雜的問題,提升了插件安裝的用戶體驗(yàn)。
技術(shù)無止境,在云數(shù)據(jù)庫使用領(lǐng)域,還有很多需要我們優(yōu)化解決的地方,例如如何幫助用戶識(shí)別當(dāng)前數(shù)據(jù)庫中可能存在的風(fēng)險(xiǎn),查看當(dāng)前數(shù)據(jù)庫中的TOP SQL,如何幫助客戶更好的管理數(shù)據(jù)庫和賬號(hào)等等。我們后續(xù)會(huì)針對(duì)這些點(diǎn)進(jìn)行優(yōu)化,給客戶帶來更多的驚喜。