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
  • 隨著Aspire發佈preview5的發佈,Microsoft.Extensions.ServiceDiscovery隨之更新, 服務註冊發現這個屬於老掉牙的話題解決什麼問題就不贅述了,這裡主要講講Microsoft.Extensions.ServiceDiscovery(preview5)以及如何 ...
  • 概述:通過使用`SemaphoreSlim`,可以簡單而有效地限制非同步HTTP請求的併發量,確保在任何給定時間內不超過20個網頁同時下載。`ParallelOptions`不適用於非同步操作,但可考慮使用`Parallel.ForEach`,儘管在非同步場景中謹慎使用。 對於併發非同步 I/O 操作的數量 ...
  • 1.Linux上安裝Docken 伺服器系統版本以及內核版本:cat /etc/redhat-release 查看伺服器內核版本:uname -r 安裝依賴包:yum install -y yum-utils device-mapper-persistent-data lvm2 設置阿裡雲鏡像源:y ...
  • 概述:WPF界面綁定和渲染大量數據可能導致性能問題。通過啟用UI虛擬化、非同步載入和數據分頁,可以有效提高界面響應性能。以下是簡單示例演示這些優化方法。 在WPF中,當你嘗試綁定和渲染大量的數據項時,性能問題可能出現。以下是一些可能導致性能慢的原因以及優化方法: UI 虛擬化: WPF提供了虛擬化技術 ...
  • 引言 上一章節介紹了 TDD 的三大法則,今天我們講一下在單元測試中模擬對象的使用。 Fake Fake - Fake 是一個通用術語,可用於描述 stub或 mock 對象。 它是 stub 還是 mock 取決於使用它的上下文。 也就是說,Fake 可以是 stub 或 mock Mock - ...
  • 為.net6在CentOS7上面做準備,先在vmware虛擬機安裝CentOS 7.9 新建CentOS764位的系統 因為CentOS8不更新了,所以安裝7;簡單就一筆帶過了 選擇下載好的操作系統的iso文件,下載地址https://mirrors.aliyun.com/centos/7.9.20 ...
  • 經過前面幾篇的學習,我們瞭解到指令的大概分類,如:參數載入指令,該載入指令以 Ld 開頭,將參數載入到棧中,以便於後續執行操作命令。參數存儲指令,其指令以 St 開頭,將棧中的數據,存儲到指定的變數中,以方便後續使用。創建實例指令,其指令以 New 開頭,用於在運行時動態生成並初始化對象。方法調用指... ...
  • LiteDB 是一個輕量級的嵌入式 NoSQL 資料庫,其設計理念與 MongoDB 類似,但它是完全使用 C# 開發的,因此與 C# 應用程式的集成非常順暢。與 SQLite 相比,LiteDB 提供了 NoSQL(即鍵值對)的數據存儲方式,並且是一個開源且免費的項目。它適用於桌面、移動以及 We ...
  • 1 開源解析和拆分文檔 第三方的工具去對文件解析拆分,去將我們的文件內容給提取出來,並將我們的文檔內容去拆分成一個小的chunk。常見的PDF word mark down, JSON、HTML。都可以有很好的一些模塊去把這些文件去進行一個東西去提取。 優勢 支持豐富的文檔類型 每種文檔多樣化選擇 ...
  • OOM是什麼?英文全稱為 OutOfMemoryError(記憶體溢出錯誤)。當程式發生OOM時,如何去定位導致異常的代碼還是挺麻煩的。 要檢查OOM發生的原因,首先需要瞭解各種OOM情況下會報的異常信息。這樣能縮小排查範圍,再結合異常堆棧、heapDump文件、JVM分析工具和業務代碼來判斷具體是哪 ...