【PostgreSQL 创新营】第五课:PostgreSQL监控实战 答疑汇总

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 【PostgreSQL 创新营】第五课:PostgreSQL监控实战 答疑汇总

Q1:实现高可用的几种方法,有例子最好?
高可用方案:patroni(推荐)、第二象限repmgr、pgpool-II+pgbouncer、云RDS等云产品

Q2:流复制有什么注意点和坑
1)配置合理的WAL参数/从库设置数据槽,防止从库WAL remove类报错
2)数据槽失效/处理效率缓慢导致WAL堆积问题。PG 13新增max_slot_wal_keep_size参数控制
3)避免单条SQL更新大量的数据,造成commit后,主库WAL激增
4)上游是HA实例,需要注意切换后下游节点日志要比上游的少。
5)设置archive_mode=on,但无配置archive_command导致WAL堆积
6)建议配置tcp_keepalives_idle,tcp_keepalives_interval和tcp_keepalives_count参数
7)详情可自行阅读github/官档

Q3:在windows2008R2上实现高可用,在配置方面需要特别注意什么?
1)推荐使用linux操作系统
2)可以基于流复制,并结合windows集群管理软件实现HA

Q4:如何通过监控动态窗口快速定位指定时间段内不同维度的TOP SQL?
1)pg_stat_statment自定义时间段进行存储,并定时执行pg_stat_reset
2)可以参考github中pg_awr的配置:https://github.com/digoal/blog/blob/master/201611/20161123_01.md

Q5:主库宕机备库自动提升的插件是啥
patroni

Q6:如何很好的监控表膨胀情况
1)定期输出表和索引的膨胀情况,尤其是TOP定期清理
2)可以借助pg_repack、pgcompacttable、pg_reorg、pg_squeeze插件
3)监控语句可以参考:
pg 10之前使用:
https://github.com/digoal/blog/blob/master/201611/20161123_01_sql_001.sql
pg 10之后:https://github.com/digoal/blog/blob/master/201611/20181130_01_sql.sql

Q7:pg单表到多大量,模糊匹配的效率有明显的下降?此特性相比mysql是否有优势?
1)效率主要看匹配度
2)比MySQL有优势,PG可以走GIN索引,MySQL无法利用索引进行模糊查询匹配

Q8:pigsty需要在目标服务器安装agent吗?有几种监控方式
1)pigsty主要借助Prometheus+Grafana+Consul,目标库需安装对应组件的agent
2)详情可参考Exporter内容

Q9: 图形加载那么多 会不会运行一段时间之后会有点慢 ?
相同时间窗口不会。选择时间范围跨度越大理论上越慢

Q10: pigsty是否支持proxy分布式采集部署
详情查阅官网https://pigsty.cc/zh/,或者提交issue

Q11:网上很多附件功能的开源插件,也是pg的优势,怎么保证生产环境插件的安全性?
1)建议查看对应插件的代码,分析插件所需的权限以及相应的影响
2)对于需要篡改数据库信息的插件,使用前要有多加注意

Q12:pg有没有什么好的性能分析工具?
1)通常合理、全面的监控指标是分析生产问题利器
2)可以借助pganalyze、pgHero等工具

Q13: pigsty官网说明是有企业版,githup版本可免费用于测试生产,请问是不是github上开源pigsty有什么限制。
建议提github问下作者

Q14:异步流复制模式下,主备节点都同步在一个WAL(内部可能有毫秒级应用延时),如果主库突然crash,怎么确认应用事务号之间的差异(用来确认丢了多少数据)?
1)除非主库crash时,从库有记录主库的位点
2)详见:PostgreSQL 13在standby节点也能监控主从延迟 pg_stat_wal_receiver latest_end_lsn 源码解读https://github.com/digoal/blog/blob/master/202005/20200520_03.md

Q15:孙宇文,pg有无像oracle的sql tunning advisor的SQL优化插件,可以自动评估SQL的优化方案,或实现自治
可借鉴:
powa4 PostreSQL Workload Analyzer - PostgreSQL监控工具、带WEB展示 - 索引推荐,等待事件分析,命中率,配置变更跟踪等https://github.com/digoal/blog/blob/master/201905/20190520_01.md

Q16:kevin yang,pigsty 可以用来监控 rds pg吗?
pigsty可以监控rds pg但是可以被监控的指标可能比自建的少, 因为rds pg给的最高权限账号rds superuser比superuser少一些权限. 某些指标可能拿不到. rds pg已经内置了一些核心监控指标, 对于大多场景足够用了. 有自己安装监控需求同时又不想自己管理的用户建议可以使用mybase pg服务, 开放OS权限和superuser, 和自建能拿到的权限一致.

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
9天前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
23 2
zabbix agent集成percona监控MySQL的插件实战案例
|
15天前
|
SQL 关系型数据库 MySQL
干货!python与MySQL数据库的交互实战
干货!python与MySQL数据库的交互实战
|
19天前
|
存储 关系型数据库 MySQL
实战!MySQL主从复制一键搭建脚本分享
实战!MySQL主从复制一键搭建脚本分享
26 2
|
23天前
|
SQL 存储 关系型数据库
MySQL备份:mydumper 备份恢复工具生产实战
MySQL备份:mydumper 备份恢复工具生产实战
|
2月前
|
JavaScript 关系型数据库 API
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
这篇文章介绍了什么是Prisma以及如何在Node.js和TypeScript后端应用中使用它。Prisma是一个开源的下一代ORM,包含PrismaClient、PrismaMigrate、PrismaStudio等部分。文章详细叙述了安装PrismaCLI和依赖包、初始化Prisma、连接数据库、定义Prisma模型、创建Prisma模块的过程,并对比了Prisma和Sequelize在Nest.js中的使用体验,认为Prisma更加便捷高效,没有繁琐的配置。
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
|
1月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
102 1
|
1月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶实战:解锁性能飙升秘籍,从菜鸟到高手的华丽蜕变,让数据操作如行云流水!
【8月更文挑战第5天】MySQL是最流行的开源关系型数据库之一,在Web开发与数据分析等领域广泛应用。本文通过实战代码示例,深入探讨MySQL进阶技能:包括索引优化以提升查询性能;利用JOIN与子查询处理多表关联数据;通过事务处理确保数据一致性;使用存储过程与函数封装复杂逻辑以便重用;设置触发器自动执行特定任务以维护数据完整性。掌握这些技能能显著提高数据处理效率与系统性能。
31 5
|
24天前
|
canal 关系型数据库 MySQL
"揭秘阿里数据同步黑科技Canal:从原理到实战,手把手教你玩转MySQL数据秒级同步,让你的数据处理能力瞬间飙升,成为技术界的新晋网红!"
【8月更文挑战第18天】Canal是一款由阿里巴巴开源的高性能数据同步系统,它通过解析MySQL的增量日志(Binlog),提供低延迟、可靠的数据订阅和消费功能。Canal模拟MySQL Slave与Master间的交互协议来接收并解析Binary Log,支持数据的增量同步。配置简单直观,包括Server和Instance两层配置。在实战中,Canal可用于数据库镜像、实时备份等多种场景,通过集成Canal Client可实现数据的消费和处理,如更新缓存或写入消息队列。
197 0
|
1月前
|
存储 关系型数据库 MySQL
MySQL中的DISTINCT与GROUP BY:效率之争与实战应用
【8月更文挑战第12天】在数据库查询优化中,DISTINCT和GROUP BY常常被用来去重或聚合数据,但它们在实现方式和性能表现上却各有千秋。本文将深入探讨两者在MySQL中的效率差异,结合工作学习中的实际案例,为您呈现一场技术干货分享。
145 0
|
2月前
|
SQL 监控 关系型数据库
实时计算 Flink版操作报错合集之在设置监控PostgreSQL数据库时,将wal_level设置为logical,出现一些表更新和删除操作报错,怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。

相关产品

  • 云原生数据库 PolarDB
  • 云数据库 RDS PostgreSQL 版