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
  • 最近做項目過程中,使用到了海康相機,官方只提供了C/C++的SDK,沒有搜尋到一個合適的封裝了的C#庫,故自己動手,簡單的封裝了一下,方便大家也方便自己使用和二次開發 ...
  • 前言 MediatR 是 .NET 下的一個實現消息傳遞的庫,輕量級、簡潔高效,用於實現進程內的消息傳遞機制。它基於中介者設計模式,支持請求/響應、命令、查詢、通知和事件等多種消息傳遞模式。通過泛型支持,MediatR 可以智能地調度不同類型的消息,非常適合用於領域事件處理。 在本文中,將通過一個簡 ...
  • 前言 今天給大家推薦一個超實用的開源項目《.NET 7 + Vue 許可權管理系統 小白快速上手》,DncZeus的願景就是做一個.NET 領域小白也能上手的簡易、通用的後臺許可權管理模板系統基礎框架。 不管你是技術小白還是技術大佬或者是不懂前端Vue 的新手,這個項目可以快速上手讓我們從0到1,搭建自 ...
  • 第1章:WPF概述 本章目標 瞭解Windows圖形演化 瞭解WPF高級API 瞭解解析度無關性概念 瞭解WPF體繫結構 瞭解WPF 4.5 WPF概述 ​ 歡迎使用 Windows Presentation Foundation (WPF) 桌面指南,這是一個與解析度無關的 UI 框架,使用基於矢 ...
  • 在日常開發中,並不是所有的功能都是用戶可見的,還在一些背後默默支持的程式,這些程式通常以服務的形式出現,統稱為輔助角色服務。今天以一個簡單的小例子,簡述基於.NET開發輔助角色服務的相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 第3章:佈局 本章目標 理解佈局的原則 理解佈局的過程 理解佈局的容器 掌握各類佈局容器的運用 理解 WPF 中的佈局 WPF 佈局原則 ​ WPF 視窗只能包含單個元素。為在WPF 視窗中放置多個元素並創建更貼近實用的用戶男面,需要在視窗上放置一個容器,然後在這個容器中添加其他元素。造成這一限制的 ...
  • 前言 在平時項目開發中,定時任務調度是一項重要的功能,廣泛應用於後臺作業、計劃任務和自動化腳本等模塊。 FreeScheduler 是一款輕量級且功能強大的定時任務調度庫,它支持臨時的延時任務和重覆迴圈任務(可持久化),能夠按秒、每天/每周/每月固定時間或自定義間隔執行(CRON 表達式)。 此外 ...
  • 目錄Blazor 組件基礎路由導航參數組件參數路由參數生命周期事件狀態更改組件事件 Blazor 組件 基礎 新建一個項目命名為 MyComponents ,項目模板的交互類型選 Auto ,其它保持預設選項: 客戶端組件 (Auto/WebAssembly): 最終解決方案裡面會有兩個項目:伺服器 ...
  • 先看一下效果吧: isChecked = false 的時候的效果 isChecked = true 的時候的效果 然後我們來實現一下這個效果吧 第一步:創建一個空的wpf項目; 第二步:在項目裡面添加一個checkbox <Grid> <CheckBox HorizontalAlignment=" ...
  • 在編寫上位機軟體時,需要經常處理命令拼接與其他設備進行通信,通常對不同的命令封裝成不同的方法,擴展稍許麻煩。 本次擬以特性方式實現,以兼顧維護性與擴展性。 思想: 一種命令對應一個類,其類中的各個屬性對應各個命令段,通過特性的方式,實現其在這包數據命令中的位置、大端或小端及其轉換為對應的目標類型; ...