監控:
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/odysseyPgBouncer
pgpool
檢視執行計劃:
https://explain.depesz.com/ https://explain.dalibo.com/plan# https://tatiyants.com/pev/#/plans/newGUI工具:
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