好用的資料庫外掛程式管理, 長這樣

2021-09-17 08:55:05 字數 2176 閱讀 7832

摘要:外掛程式管理是門技術活,尤其是對 postgresql。

作為一種典型的開源關係型資料庫, postgresql 以保證資料可靠性和完整性的出色表現而聞名。尤其是地理位置應用系統、複雜資料物件處理等應用場景下。了解 postgresql 的你,想必也知道它提供了豐富的核心程式設計介面,允許我們以外掛程式的方式將功能整合到資料庫核心中。

隨著 postgresql 的使用者越來越多,圍繞它開發的第三方外掛程式也越來越豐富。不僅開源社群提供了大量常用外掛程式,第三方開源外掛程式也如雨後春筍般增長著。或許現在的你,也正在開發著自己的 postgresql 外掛程式……

那麼,如何管理我們的資料庫外掛程式呢?

當然,社群版本也已給我提供了乙個外掛程式管理模組,幫助我們管理資料庫的外掛程式。但是,社群外掛程式管理模組通常要求我們有超級使用者(即常說的 superuser)許可權,才能管理這些外掛程式。

社群版外掛程式管理

postgresql 核心外掛程式一般包含如下3個部分:

功能實現為 so 動態共享庫檔案;

外掛程式的描述資訊檔案 .control 檔案;

用於建立、更新和刪除外掛程式的帶版本號的 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 使用者連線需要支援外掛程式的資料庫,並建立外掛程式。

 rds_address為rds例項的ip位址。

 db_port為rds資料庫例項的埠。

 db_name為需要建立外掛程式的資料庫名稱。

 extension_name為外掛程式名稱,如postgis。

在資料庫 my_extension_db 中建立 postgis 外掛程式示例如下:

步驟2:以 root 使用者連線已建立外掛程式的資料庫,並刪除外掛程式。

 rds_address為rds例項的ip位址。

 db_port為rds資料庫例項的埠。

 db_name為需要建立外掛程式的資料庫名稱。

 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

好用的mysql資料庫備份指令碼

啟動命令 bash backups 57 01.sh 檔案內容 bin sh 當天日期 current date date y m d 執行備份命令,密碼中有特殊字元需要用單引號 mysqldump uroot p 123456 test data test current date 01.sql ...

很好用的PHP資料庫類

複製 如下 很好用的php資料庫類,三 四句 搞定乙個表的操作,無論這個表字段有多複雜。此類多次大量用在大型 程式的開發上,效果特別的好。作者 快刀浪子 define php record exists class trecord for i 0 inum i function safestring...

MySQL資料庫 資料庫的管理

一 建立資料庫 方法1 create database 資料庫名 方法2 create schema 資料庫名 方法3 create database if not exits 資料庫名 default character set charset 如圖 資料庫t1,t2建立成功 二 檢視當前伺服器上...