【云圖說】第235期 DDS讀寫兩步走 帶您領略只讀節點的風采
694
2025-03-31
作為一種典型的開源關系型數據庫, PostgreSQL 以保證數據可靠性和完整性的出色表現而聞名。尤其是地理位置應用系統、復雜數據對象處理等應用場景下。了解 PostgreSQL 的你,想必也知道它提供了豐富的內核編程接口,允許我們以插件的方式將功能集成到數據庫內核中。
隨著 PostgreSQL 的使用者越來越多,圍繞它開發的第三方插件也越來越豐富。不僅開源社區提供了大量常用插件,第三方開源插件也如雨后春筍般增長著。或許現在的你,也正在開發著自己的 PostgreSQL 插件……
那么,如何管理我們的數據庫插件呢?
當然,社區版本也已給我提供了一個插件管理模塊,幫助我們管理數據庫的插件。但是,社區插件管理模塊通常要求我們有超級用戶(即常說的 Superuser)權限,才能管理這些插件。
社區版插件管理
PostgreSQL 內核插件一般包含如下3個部分:
1.????? 功能實現為 SO 動態共享庫文件;
2.????? 插件的描述信息文件 .control 文件;
3.????? 用于創建、更新和刪除插件的帶版本號的 SQL 文件。
一般使用 create extension、alter extension、drop extension 來管理插件。使用語法詳細參考官方參考手冊。
另外,社區版插件的更新也是一個比較麻煩的過程,你需要:
1、 獲取到所要升級插件的目標版本。在描述信息文件 .control 文件中修改對應版本號,如當前版本號為1.2,則修改為1.3;
2、 增加目標版本DDL SQL文件,命名為*--1.3.sql;
3、 增加老版本升級到目標版本的DDL SQL文件,命名為*--1.2--1.3.sql;
4、 修改源碼添加目標版本新功能,并編譯生成對應的SO動態庫到指定目錄,如默認的lib目錄;
5、 執行alter extension update升級。
需要注意的是,社區版安裝插件需要有插件所創建對象的權限,這就導致大多數插件需要超級用戶或者數據庫擁有者的權限。但對于現如今,公有云上開放超級用戶給使用者,必然帶來諸多安全隱患。
不管是 ALI、還是 AWS 等公有云 PostgreSQL 服務提供商給大家開發的 root 用戶都并非超級用戶,所以無法直接使用社區插件管理模塊。 如何解決這一矛盾呢?
這里有一套安全、方便、快捷的解決方案,了解一下。
華為公有云 PostgreSQL 插件管理
華為公有云 PostgreSQL 插件管理,你只需要簡單決定什么時候使用插件,什么時候放棄使用某插件。簡單兩步,輕松實現插件管理。
步驟1:以 root 用戶連接需要支持插件的數據庫,并創建插件。
# psql --host=
l? RDS_ADDRESS為RDS實例的IP地址。
l? DB_PORT為RDS數據庫實例的端口。
l? DB_NAME為需要創建插件的數據庫名稱。
l? EXTENSION_NAME為插件名稱,如postgis。
在數據庫 my_extension_db 中創建 postgis 插件示例如下:
步驟2:以 root 用戶連接已創建插件的數據庫,并刪除插件。
# psql --host=
l? RDS_ADDRESS為RDS實例的IP地址。
l? DB_PORT為RDS數據庫實例的端口。
l? DB_NAME為需要創建插件的數據庫名稱。
l? EXTENSION_NAME為插件名稱,如postgis。
在數據庫my_extension_db中創建postgis插件示例如下:
華為公有云 PostgreSQL 提供了豐富的插件集,且將持續豐富我們的插件庫。如果正在使用或將要使用的你有新的插件需求,也可以隨時告訴我們。當前支持的插件集如下:
??????????? postgis
??????????? btree_gin
??????????? btree_gist
??????????? hstore
??????????? pg_trgm
??????????? tablefunc
??????????? unaccent
??????????? uuid-ossp
??????????? cube
??????????? dict_int
??????????? dict_xsyn
??????????? earthdistance
??????????? intagg
??????????? intarray
??????????? ltree
??????????? auto_explain、
??????????? pg_stat_statements
??????????? pg_pathman
??????????? pg_hint_plan
??????????? oracle_fdw
相比社區版本的插件管理方式,華為公有云 PostgreSQL 提供的插件管理方案,旨在讓用戶更專注于業務需求,無需關注費時費力的維護工作。安全是前提、方便快捷是基礎。
了解更多華為云數據庫 PostgreSQL:點擊這里
了解華為云數據庫最新活動:點擊這里
數據庫 PostgreSQL 華為云
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。