Postgres工具插件汇总第二弹

2022-03-30 00:00:00 数据库 执行 工具 监控 观察

监控:

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

原文链接:https://mp.weixin.qq.com/s/ZaQHEDgaEYUnFBTqrZf3VQ

相关文章