天天看點

PostgreSQL插件彙總

監控:

pg_stat_statements

system_stats:用于觀察OS層的資訊

pg_stat_kcache:可以觀察單條SQL花費多少cpu等

pg_stat_monitor:pg_stat_statements和pg_stat_kcache的結合體

pgpro_stats:等待事件統計、采樣配置、自動化監控

pgsentinel、pgsampler:類Oracle ASH

監控工具:

PoWA:工作負載分析工具

PgCluu:性能監控和審計工具,視圖展示

Pgwatch2:最易用的一個,基于Grafana并為PostgreSQL資料庫提供開箱即用的監控功能

zabbix、prometheus:zabbix較重

pigsty:數之不盡的功能,不僅僅是監控

pgmetrics

pgstatspack

邏輯和基于觸發器的複制工具:

pgLogical

Slony-I

Bucardo

BDR:多主,其他還有PGXC、PGXL 以及衍生而來的Antdb、TBase、Guass300等

指令行工具:

pg_top,類top工具

pgcenter:全能監控工具

pg_activity:指令行top工具

pg_sysstat:相對簡陋

SQL相關:

pg_hint_plan:hint功能

pg_query:高亮,識别風險SQL

pg_plan_advsr:懶人優化

hypopg:類似MySQL虛拟索引

sr_plan:儲存、篡改、固定 執行計劃,Oracle相容

pg_parallizator:并行建立索引

定時任務:

pg_timetable

pg_cron

pg_agent

巡檢:

Toolkit(percona)

分片:

citus、pg_shardman、plproxy、postgres_fdw

FDW:

oracle_fdw

mysql_fdw

mongo_fdw

sqlserver_fdw

file_fdw

更多請參考:

https://wiki.postgresql.org/wiki/Foreign_data_wrappers

其他:

ADG:圖資料庫

pg_buffercache:觀察buffer

pgstattuple:行級别的統計

pg_filedump、pg_waldump、pg_walminer、pg_fix:觀察檔案、日志,修改日志

pgtrashcan:垃圾資源回收筒

pg_timeout:空閑會話逾時,pg14引入idle_session_timeout參數

pgcrypto:資料加密子產品

pg_audit、pg_log_userqueries、pgreplay:審計

pageinspect:内窺資料庫BLOCK的内容

passwordcheck:密碼複雜度檢測

pg_buffercache:統計資料庫shared buffer的内容

pgcrypto:加密插件

pg_freespacemap:觀察資料庫fsm檔案内容

pgrowlocks:行鎖統計

pgstattuple,:記錄級别統計資訊觀察

pg_trgm:模糊查詢, 相似文本查詢

pg_visibility:觀察資料庫block的vm标簽值(all visibility, frozen, dirty等)

pg_prewarm、pg_fincore:資料預熱

tablefunc:行列轉換,connect by

auto_explain、pg_show_plans:執行計劃

zhparser、pg_jieba:中文分詞

pg_trgm、pg_bigm(沒有3個分詞限制)、pgroonga:模糊查詢

pg_similarity、cube、rum:相似查詢

pg_pathman、pg_partman:分區

pg_qualstats:索引建議

pg_wait_sampling:等待事件采樣

citext:大小寫

pg_query_state:背景工作情況

session_exec:失敗超過次數自動鎖定

postgis:強大的地理空間資料

pg_readonly:設為隻讀,類似transaction_read_only

pg_tt:全局臨時表

pg_dropbuffer、pg_dropcache:删除cache和buffer

set_user、pg_permissions、pg_restrict:ACL,權限進一步加強

diskquota:類Oracle profile,不過隻能限制磁盤

pg_prioritize:程序優先級排程

sql_firewall:SQL防火牆

auth_delay:防破解、安全

timescaledb:時序資料庫

md5hash、gzip、pgzstd:加密壓縮

ddlx、pgddl:擷取DDL

uuid-ossp:uuid生成

pipelindb:流式計算

orafce:oracle相容、package一些内置函數等

pg_roaringbitmap:精準營銷

pg_repack、pg_sequeeze、pgcompacttable:當機、重建、垃圾回收

AWR:pg_awr、pg_profile

logical replication、cdc相關:wal2json、wal2mongo、decoder_raw、pglogical、decoderbufs、pg_tm_aux(可以指定lsn的slot)、pgl_ddl_deploy(邏輯複制支援複制DDL)

zedstore, 行列混合存儲

undam、zheap:undo引擎

pgpool:讀寫分離、負載均衡

pg_background:自治事務

pldebugger、plpgsql_check:function調試

plprofiler、pg_flame:類perf火焰圖,分析慢code

ZomboDB:Elasticsearch作為Index

PostPic:image process

pg_hashids:decode

pggraphblas:graph process

pgsql-http:pg裡面請求http

連接配接池:

https://agroal.github.io/pgagroal/ https://github.com/yandex/odyssey

PgBouncer

pgpool

檢視執行計劃:

https://explain.depesz.com/ https://explain.dalibo.com/plan# https://tatiyants.com/pev/#/plans/new

GUI工具:

OmniDB

pgweb

clouddbeaver

datagrip

Beekeeper Studio

ClusterControl

Adminer

HeidiSQL

追溯執行計劃:

pg_store_plans

auto_explain

pg_show_plans

備份:

barman

pg_backrest

pg_probackup

pg_rman

EDB BART

pg_basebackup

遷移:

ora2pg(Oracle -> PostgreSQL)

pg_chameleon(MySQL -> PostgreSQL)

devart(Oracle、MySQL -> PostgreSQL

更多參考wiki:

https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL

高可用:

patroni

pgpool-II

stolon

repmgr

pacemaker + corosync

PAF( PostgreSQL Automatic Failover )

pg_auto_failover

EcoX

DRBD + LVM