监控:
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.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