PostgreSQL 最常用的插件

来源:https://www.cnblogs.com/88223100/archive/2022/11/10/The-most-common-plug-ins-of-PostgreSQL.html
-Advertisement-
Play Games

背景 監控、優化、診斷 cpu, io消耗監控https://github.com/powa-team/pg_stat_kcache where條件過濾性統計https://github.com/powa-team/pg_qualstats cgroup , /proc 系統級指標統計https:/ ...


 

 

背景

監控、優化、診斷

cpu, io消耗監控
https://github.com/powa-team/pg_stat_kcache

where條件過濾性統計
https://github.com/powa-team/pg_qualstats

cgroup , /proc 系統級指標統計
https://github.com/CrunchyData/pgnodemx

pg_logging, log buffer read
價值: 讀pip管道中的log內容, 不需要寫雙份日誌
https://github.com/postgrespro/pg_logging

當前正在執行sql的backend的狀態統計
https://github.com/postgrespro/pg_query_state

執行計劃固化和篡改
https://github.com/postgrespro/sr_plan

等待事件採樣統計
https://github.com/postgrespro/pg_wait_sampling

系統級監控統計
https://github.com/EnterpriseDB/system_stats

pgmetrics
https://github.com/digoal/blog/blob/master/201810/20181001_03.md

csvlog 分析, pgbadger
http://pgbadger.darold.net/

《PostgreSQL DBA最常用SQL》
https://github.com/digoal/blog/blob/master/202005/20200509_02.md

《PostgreSQL 活躍會話歷史記錄插件 - pgsentinel 類似performance insight》
https://github.com/digoal/blog/blob/master/202003/20200324_25.md
https://github.com/digoal/blog/blob/master/201901/20190125_02.md

pg_hint_plan, 執行計劃hint
http://pghintplan.osdn.jp/pg_hint_plan.html

自動執行計劃優化, pg_plan_advsr
https://github.com/digoal/blog/blob/master/202003/20200324_33.md

PostgreSQL dba常用擴展函數庫 - pg_cheat_funcs
https://github.com/digoal/blog/blob/master/202003/20200324_41.md

資料庫job功能 pg_cron
https://github.com/digoal/blog/blob/master/201305/20130531_01.md

pg_pathman, 分區表性能提升, 自動分區, 自動增加分區等
https://github.com/postgrespro/pg_pathman

功能

postgis , 全球最流行的GIS擴展功能模塊
http://postgis.org/

h3模塊
https://github.com/dlr-eoc/pgh3

pgrouting, 圖路由功能
https://pgrouting.org/

《PostgreSQL MOD資料庫 MobilityDB - GIS 移動對象處理資料庫》
https://github.com/digoal/blog/blob/master/202003/20200324_24.md

開源圖像識別, imgsmlr
https://github.com/digoal/blog/blob/master/201811/20181129_01.md
https://github.com/postgrespro/imgsmlr

pg_roaringbitmap, 用戶圈選、實時畫像、相似用戶擴選功能 . 分析場景功能插件,應用於實時精準營銷系統
https://github.com/digoal/blog/blob/master/201911/20191118_01.md

timescaledb 時序資料庫引擎
https://github.com/digoal/blog/blob/master/201804/20180420_01.md
https://github.com/timescale/timescaledb

pg_prometheus, IoT常用, 監控產品集成到timescaledb和prometheus
https://github.com/timescale/pg_prometheus

機器學習 madlib
http://madlib.apache.org/

rdkit 化學插件, 化學分析行業應用
https://github.com/digoal/blog/blob/master/202003/20200326_06.md
https://github.com/digoal/blog/blob/master/201911/20191125_01.md

文本處理插件 pg_bigm, PGroonga. 任意內容模糊搜索(包括單字和雙字的模糊查詢)
https://github.com/digoal/blog/blob/master/202003/20200330_01.md
《[直播]在資料庫中跑全文檢索、模糊查詢SQL會不會被開除?》

pg_trgm, 實時模糊查詢、相似文本查詢
https://github.com/digoal/blog/blob/master/201809/20180904_01.md

pg_jieba 中文分詞
https://github.com/digoal/blog/blob/master/201607/20160725_02.md

pg_scws 中文分詞
https://github.com/jaiminpan/pg_scws

zhparser 中文分詞
https://github.com/digoal/blog/blob/master/201603/20160310_01.md

smlar, 多值類型相似查詢, 支持cosine, overlap等相似演算法, 例如 標簽交叉率相似度, 用戶畫像相似圈選
http://sigaev.ru/git/gitweb.cgi?p=smlar.git;a=summary

hll, 近似HASH值, 高效UNIQUE近似比對、計算, 滑窗分析. 思想上類似bloom演算法, 每個value映射到hash值的某些bit上, 用若幹bit位的占位是否為1表示這個value是否存在.
https://github.com/citusdata/postgresql-hll
《[視頻直播]億級用戶量的實時推薦資料庫到底要幾毛錢?》

orafce, 常用Oracle相容類型、函數、包
https://github.com/digoal/blog/blob/master/201603/20160324_01.md

pgcrypto, 數據加密模塊
https://www.postgresql.org/docs/current/pgcrypto.html

採樣查詢, 隨機數據查詢, 比offset random性能提升1萬倍
tsm_system_rows
tsm_system_time
https://github.com/digoal/blog/blob/master/202005/20200509_01.md

rum, 加強版倒排索引, 多值類型(數組、文本向量等)檢索加速, 任意欄位組合搜索索引過濾
https://github.com/postgrespro/rum
https://github.com/digoal/blog/blob/master/201907/20190706_01.md

zombodb: 創建基於es的索引, 加速搜索, 一種全新解決方案, 降低用戶開發成本, 簡化應用架構, 解決搜索數據同步問題、延遲等痛點.
https://github.com/zombodb/zombodb
https://github.com/digoal/blog/blob/master/201710/20171001_06.md

阿裡雲pase, 圖像識別, 向量檢索, 相似特征圈選. 千萬級別毫秒響應
https://github.com/digoal/blog/blob/master/202004/20200424_01.md

sql審計sql audit
https://github.com/digoal/blog/blob/master/201505/20150515_01.md

連接池

pgbouncer
http://www.pgbouncer.org/

《PostgreSQL 多線程連接池 - Scalable PostgreSQL connection pooler odyssey》
https://github.com/digoal/blog/blob/master/201906/20190624_01.md

pgagroal
https://github.com/digoal/blog/blob/master/202003/20200320_02.md

外部訪問

阿裡雲oss_fdw冷熱分離存儲
https://github.com/digoal/blog/blob/master/202001/20200108_01.md

其他fdw外部表彙總
https://wiki.postgresql.org/wiki/Foreign_data_wrappers

外部數據源訪問 dblink
pg, oracle, mysql, sqlite dblink plus 打通多種資料庫, 解決大型企業跨數據源訪問問題(傳統企業尤為普遍)
https://github.com/digoal/blog/blob/master/202003/20200324_07.md

外部數據訪問 udf, 直接使用sql操作其他資料庫
memcached
https://github.com/ohmu/pgmemcache

redis
https://github.com/digoal/blog/blob/master/202003/20200326_09.md

sharding

plproxy
https://plproxy.github.io/

citus
https://github.com/citusdata/citus

讀寫分離

pgpool
http://www.pgpool.org/
《阿裡雲RDS PostgreSQL 12 + pgpool 的讀寫分離配置》

《PostgreSQL druid 多個讀節點的jdbc loadbalance負載均衡連接串配置》
https://github.com/digoal/blog/blob/master/202002/20200214_03.md

《PostgreSQL libpq|jdbc 驅動層 load balance 與 failover》
https://github.com/digoal/blog/blob/master/201910/20191027_01.md

《PostgreSQL jdbc multi-host 配置與簡單HA、Load Balance實現》
https://github.com/digoal/blog/blob/master/201806/20180614_02.md

異構遷移

oracle 2 pg
http://www.ora2pg.com/

《PostgreSQL pgloader - 一鍵遷移 MySQL SQLite MS SQL Redshift, csv dbf ixf archive》
https://github.com/digoal/blog/blob/master/202003/20200324_02.md

日常維護

線上收縮膨脹空間
https://github.com/reorg/pg_repack

存儲

zedstore, 行列混合存儲, 更好的支持分析場景(cpu vector 批量計算, 列存儲, 壓縮效率)
https://github.com/greenplum-db/postgres/tree/zedstore/src/backend/access/zedstore

undam, UNDO存儲引擎, 更好的支持update, 減輕膨脹
https://github.com/postgrespro/undam

zheap, UNDO存儲引擎, 更好的支持update, 減輕膨脹
https://github.com/EnterpriseDB/zheap

PostgreSQL appendonly 壓縮 存儲引擎 - pg_cryogen, 更好的支持分析場景(cpu vector 批量計算, 列存儲, 壓縮效率)
https://github.com/digoal/blog/blob/master/202003/20200324_10.md

PostgreSQL LSM-tree 引擎 - VidarDB (baseon rocksdb) , 更高的插入效率, 犧牲查詢效率
https://github.com/digoal/blog/blob/master/202003/20200324_03.md
https://en.wikipedia.org/wiki/Log-structured_merge-tree

內置插件

https://www.postgresql.org/docs/current/contrib.html

用得比較多的插件:

auth_delay, 防止暴力破解
auto_explain, 將慢sql的執行計劃寫入日誌
btree_gin, 普通欄位支持gin倒排索引
btree_gist, 普通欄位支持gist索引
citext, 忽略大小寫的數據類型
dblink, 不解釋
earthdistance, 輕量化地球模型類型
file_fdw, 以外部表的形式讀寫文件
fuzzystrmatch, 語音模糊搜索
intagg, 整型聚合功能擴展
intarray, 整型數組GIST索引擴展功能
lo, 大對象處理
pageinspect, 內窺資料庫BLOCK的內容
passwordcheck, 密碼複雜度檢測
pg_buffercache, 統計資料庫shared buffer的內容
pgcrypto, 加密插件
pg_freespacemap, 觀察資料庫fsm文件內容
pgrowlocks, 行鎖統計
pgstattuple, 記錄級別統計信息觀察
pg_trgm, 模糊查詢, 相似文本查詢
pg_visibility, 觀察資料庫block的vm標簽值(all visibility, frozen, dirty等)
postgres_fdw, postgresql外部表
spi, 一些常用的跟蹤觸發器函數, 例如最後變更事件跟蹤
test_decoding, 邏輯複製decoder
tsm_system_rows, 採樣擴展模塊
tsm_system_time, 採樣擴展模塊
uuid-ossp, UUID生成模塊
xml2, XML類型模塊
pg_stat_statements, 觀察資料庫的sql運行統計信息, 例如top sql
cube, cube類型, 支持多種距離排序演算法, 也可以用於相似向量搜索
ltree, 樹類型
pg_prewarm, buffer預熱功能
tablefunc, 行列變換插件

其他請參考

《未來資料庫方向 - PostgreSQL 有價值的插件、可改進功能、開放介面 (202005)》

其他參考信息

 

  作者丨digoal

本文來自博客園,作者:古道輕風,轉載請註明原文鏈接:https://www.cnblogs.com/88223100/p/The-most-common-plug-ins-of-PostgreSQL.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:背景 1.講故事 有朋友咨詢個問題,他每次在調試 WinDbg 的時候,進程初始化斷點之前都會有一些 dll 載入到進程中,比如下麵這樣: Microsoft (R) Windows Debugger Version 10.0.25200.1003 X86 Copyright (c) Micro ...
  • 依賴管理是 NuGet 的核心功能。Nuget管理單個項目的依賴關係很容易。管理多項目解決方案的依賴關係可能會變得很困難,因為它們的規模和複雜性開始擴大。 在您管理許多不同項目的公共依賴項的情況下,您可以利用 NuGet 的中央包管理功能從一個位置輕鬆完成所有這些工作。 要開始使用中央包管理,您可以 ...
  • 前言 之前想用Markdown來寫框架文檔,找來找去發現還是Jekyll的多,但又感覺不是很合我的需求 於是打算自己簡單弄一個展示Markdown文檔的網站工具,要支持多版本、多語言、導航、頁內導航等,並且支持Github Pages免費站點 組件選擇 我自己呢比較喜歡C#,恰好現在ASP.Net ...
  • Part One: System call tracing 任務:修改Xv6內核的代碼來列印出每個系統調用以及返回值 根據提示,應該在syscall.c中修改syscall()。 首先在syscall.c中增加對應系統調用名稱的數組: static char *syscalls_name[] = { ...
  • 前幾日考慮給ubuntu安裝圖形桌面驅動。第一次安裝是在圖形界面下啟動終端軟體跑的NVIDIA給的安裝腳本,結果它跑了一半自動重啟了圖形界面,導致腳本被退出了。測試發現顯卡確實已被驅動,但由於擔心會不會有某些組件缺失,便退出到tty完完整整重新又跑了遍腳本。結果這一下一弄,重啟後再次啟動則在引導完成 ...
  • Arnold for Cinema 4D是用於C4D R25的阿諾德渲染器,支持R25.010 及以上的C4D,SolidAngle Cinema 4D To Arnold 是一款先進的蒙特卡洛光線追蹤渲染器,專為動畫長度和視覺效果的需求而打造。 詳情:C4D R25插件:Arnold for Ci ...
  • 一、什麼是 SQLite 資料庫 SQLite 是嵌入式SQL資料庫引擎。與大多數其他 SQL 資料庫不同,SQLite 沒有單獨的伺服器進程。SQLite 直接讀取和寫入普通磁碟文件。具有多個表,索引,觸發器和視圖的完整 SQL 資料庫包含在單個磁碟文件中。資料庫文件格式是跨平臺的-您可以在32位 ...
  • 我是風箏,公眾號「古時的風箏」,專註於 Java技術 及周邊生態。 文章會收錄在 JavaNewBee 中,更有 Java 後端知識圖譜,從小白到大牛要走的路都在裡面。 本來是一個平靜而美好的下午,其他部門的同事要一份數據報表臨時彙報使用,因為系統目前沒有這個維度的功能,所以需要寫個SQL馬上出一下 ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...