PostgreSQL 数据库监控项
在维护和优化 PostgreSQL 数据库时,采集并监控数据库的各种静态和动态指标非常重要。这些指标包括数据库的配置信息、资源使用情况、性能指标等,能够帮助数据库管理员及时发现并解决潜在的问题,从而提高数据库的稳定性和性能。本文提供了一系列 SQL 查询,用于获取 PostgreSQL 数据库的各项重要指标和配置信息。
1. PostgreSQL 版本信息
-
查询命令:
SELECT version();
返回 PostgreSQL 数据库的版本信息。
2. 配置参数
2.1 shared_buffers
-
查询命令:
SHOW shared_buffers;
返回
shared_buffers
的配置值。
2.2 max_connections
-
查询命令:
SHOW max_connections;
返回
max_connections
的配置值。
3. 数据库大小
-
查询命令:
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database;
返回每个数据库的名称及其大小。
4. 数据库年龄
-
查询命令:
SELECT datname, age(datfrozenxid) AS age FROM pg_database;
返回每个数据库的名称及其年龄(以事务ID表示)。
5. 活动会话
-
查询命令:
SELECT datname, count(*) AS num_connections FROM pg_stat_activity GROUP BY datname;
返回每个数据库当前的活动会话数量。
6. 会话详细信息
-
查询命令:
SELECT pid, usename, datname, application_name, client_addr, client_port, backend_start, state, query FROM pg_stat_activity;
返回当前所有活动会话的详细信息。
7. 数据库大小和索引大小
-
查询命令:
SELECTdatname,pg_size_pretty(pg_database_size(datname)) AS db_size,pg_size_pretty(pg_indexes_size(datname)) AS index_size FROMpg_database;
返回每个数据库的大小和索引大小。
8. 检查点信息
-
查询命令:
SELECT checkpoint_time, current_setting('checkpoint_completion_target') AS checkpoint_completion_target FROM pg_stat_bgwriter;
返回最近检查点的时间以及
checkpoint_completion_target
的配置值。
9. 真空和分析信息
-
查询命令:
SELECT schemaname, relname, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze FROM pg_stat_user_tables ORDER BY last_autovacuum DESC LIMIT 10;
返回用户表的最后一次 VACUUM 和 ANALYZE 操作的时间。
10. 索引使用情况
-
查询命令:
SELECT relname AS table_name, indexrelname AS index_name, idx_scan AS index_scans FROM pg_stat_user_indexes JOIN pg_indexes ON pg_stat_user_indexes.indexrelname = pg_indexes.indexname WHERE schemaname = 'public';
返回用户表的索引使用情况。
11. 表膨胀
- 查询命令:
返回每个表的总大小、堆大小、TOAST 大小和索引大小。SELECT schemaname, tablename, pg_size_pretty(total_bytes) AS total_size,pg_size_pretty(heap_bytes) AS heap_size,pg_size_pretty(toast_bytes) AS toast_size,pg_size_pretty(index_bytes) AS index_size FROM (SELECT *, total_bytes - heap_bytes - toast_bytes - index_bytes AS table_bytesFROM (SELECT c.oid, nspname AS schemaname, relname AS tablename,pg_total_relation_size(c.oid) AS total_bytes,pg_relation_size(c.oid) AS heap_bytes,COALESCE(pg_total_relation_size(reltoastrelid), 0) AS toast_bytes,COALESCE(SUM(pg_total_relation_size(i.indexrelid)), 0) AS index_bytesFROM pg_class cLEFT JOIN pg_namespace n ON n.oid = c.relnamespaceLEFT JOIN pg_index i ON i.indrelid = c.oidWHERE c.relkind = 'r'GROUP BY 1, 2, 3, 4, 5, 6) a ) b ORDER BY total_bytes DESC LIMIT 10;
12. 数据库年龄
- 查询命令:
返回每个数据库的名称及其年龄。SELECT datname, age(datfrozenxid) AS age FROM pg_database;
13. 活动连接数
- 查询命令:
返回当前活动的连接数。SELECT count(*) FROM pg_stat_activity WHERE state = 'active';
好的,以下是新增的 10 项 PostgreSQL 数据库的采集项及其对应的 SQL 查询:
14. 缓存命中率
-
查询命令:
SELECT sum(blks_hit) / (sum(blks_hit) + sum(blks_read)) AS cache_hit_ratio FROM pg_stat_database;
返回缓存命中率,接近 1 表示缓存利用率高。
15. 每秒事务数 (TPS)
-
查询命令:
SELECTdate_trunc('second', now()) AS time,xact_commit + xact_rollback AS tps FROMpg_stat_database;
返回当前时间每秒事务数(TPS)。
16. 每秒查询数 (QPS)
-
查询命令:
SELECTdate_trunc('second', now()) AS time,sum(numbackends) AS qps FROMpg_stat_database;
返回当前时间每秒查询数(QPS)。
17. 死锁数量
-
查询命令:
SELECT count(*) AS deadlocks FROM pg_stat_database_conflicts WHERE conflict_type = 'deadlock';
返回数据库中的死锁数量。
18. 当前锁定情况
-
查询命令:
SELECT locktype, database, relation, page, tuple, virtualxid, transactionid, classid, objid, objsubid, virtualtransaction, pid, mode, granted FROM pg_locks WHERE NOT granted;
返回当前未授予的锁定情况。
19. 缓冲区大小
-
查询命令:
SELECTpg_size_pretty(pg_total_relation_size(relid)) AS buffer_size FROMpg_statio_user_tables;
返回每个用户表的缓冲区大小。
20. 查询计划缓存命中率
-
查询命令:
SELECTround((blks_hit - blks_read)::numeric / blks_hit, 4) AS plan_cache_hit_ratio FROMpg_stat_database;
返回查询计划缓存命中率。
21. 最长查询时间
-
查询命令:
SELECTmax(now() - query_start) AS longest_query_time FROMpg_stat_activity WHERE state = 'active';
返回当前活动查询的最长查询时间。
22. 最大事务数
-
查询命令:
SELECTmax(now() - xact_start) AS max_transaction_age FROMpg_stat_activity WHERE state = 'active';
返回当前活动事务的最大事务时间。
23. 索引扫描数
-
查询命令:
SELECTschemaname,relname,indexrelname,idx_scan FROMpg_stat_user_indexes ORDER BYidx_scan DESC LIMIT 10;
返回索引扫描次数最多的前 10 个索引。
结论
通过上述 SQL 查询,您可以全面地获取 PostgreSQL 数据库的各项静态和动态指标。这些信息有助于数据库的深入监控、维护和优化,确保数据库的高效运行和稳定性。
参考资料
- PostgreSQL Documentation
- Prometheus Documentation
- Postgres Exporter
相关文章:
PostgreSQL 数据库监控项
在维护和优化 PostgreSQL 数据库时,采集并监控数据库的各种静态和动态指标非常重要。这些指标包括数据库的配置信息、资源使用情况、性能指标等,能够帮助数据库管理员及时发现并解决潜在的问题,从而提高数据库的稳定性和性能。本文提供了一系…...
用python生成词频云图(python实例二十一)
目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.词频云图 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&a…...
HTML 标签简写和全称及其对应的中文说明和实例
<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…...
(2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
前言 本系列最初的想法就是搭建一个多项目的环境, 包含nginx, nodejs, php, html, redis, MongoDB, mysql.本文使用的PHP镜像为php:7.3.6-apache, 这里可以使用上一篇文章中生成好的镜像.LAMP或包含react或vue的前端项目, 本文就各写了一个, 可以按照实际需求, 自行添加多个容…...
全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用
全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用 摘要: 本文主要介绍了可视化阅读代码神器Sourcetrail的安装与使用,包括软件简介和特性、下载地址、安装方式、新建工程和如何查看…...
Django 视图 - FBV 与 CBV
Django 视图 - FBV 与 CBV 在 Django 框架中,视图是处理 Web 请求和返回 Web 响应的核心组件。Django 提供了两种主要的视图编写方式:函数基础视图(Function-Based Views,简称 FBV)和类基础视图(Class-Bas…...
AI机器人在未来的应用场景预测:是否会取代人类?华为、百度、特斯拉他们在AI领域都在做什么?
引言 随着人工智能(AI)技术的飞速发展,AI机器人在各个领域的应用变得越来越普遍。从工业自动化到日常生活,AI机器人已经开始展现出强大的潜力和实际应用价值。本文将深入探讨AI机器人在未来的应用场景,并分析它们是否…...
第58期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…...
maven 依赖冲突
依赖冲突 1、对于 Maven 而言,同一个 groupId 同一个 artifactId 下,只能使用一个 version。 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 --><dependency><groupId>org.apache.commons</groupId&…...
demon drone 200无人机标定流程
demon drone 200无人机标定流程 一、飞控固件更新1.1 固件更新1.2 参数更新 二、imu标定2.1 安装imu标定工具(在你自己的电脑上)2.2 录制rosbag(在对应飞机上)2.3 运行标定程序(在你自己的电脑上) 三、双目及imu联合标定3.1 安装标…...
案例开发-日程管理-第一期
九 案例开发-日程管理-第一期 共7期 9.1 登录页及校验 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.ht{text-align: center;color: cadetblue;font-family: 幼…...
【Java 注解,自定义注解,元注解,注解本质,注解解析】
文章目录 什么是注解?Java内置注解自定义注解元注解注解的本质注解解析 什么是注解? 注解是Java编程语言中的一种元数据,提供了有关程序的额外信息。注解以符号开始,紧跟着注解的名称和一对括号,括号内包含注解的参数…...
染色法判定二分图
什么是二分图? 二分图,也称作二部图,是图论中的一种特殊模型。在一个无向图G(V,E) 中,如果顶点集合 V 可以被分割成两个互不相交的子集 A 和 B,并且图中的每条边 (i,j) 关联的两个顶点 i 和 j 分别属于这两个不同的顶…...
自动气象站的主要功能优势
在科技日新月异的今天,我们生活的方方面面都受到了科技的影响。其中,自动气象站作为气象观测领域的重要一环,不仅提升了气象数据的准确性和时效性,还为我们的日常生活、农业生产、灾害预防等提供了重要的数据支持。 自动气象站概述…...
Java中实现二维数组(矩阵)的转置
在矩阵运算中,矩阵的转置是一个基本操作,即将矩阵的行变成列,列变成行。在Java中,我们可以通过编写一个方法来实现二维数组的转置。下面,我将详细介绍如何在Java中完成这一任务,并提供完整的代码示例。 编…...
Prometheus+Grafana主机运行数据
目录 介绍 安装Node Exporter 配置Prometheus 验证配置 导入仪表盘 介绍 Prometheus是一款开源的监控和警报工具,而Node Exporter是Prometheus的一个官方插件,用于采集主机上的各种系统和硬件指标。 安装Node Exporter 下载最新版本的Node Export…...
GraphQL在Postman中:释放API查询的强大潜能
🚀 GraphQL在Postman中:释放API查询的强大潜能 Postman作为API开发和测试的领先工具,对GraphQL的支持为开发者提供了一种新的方式来查询和管理数据。GraphQL是一种查询语言,用于API,允许客户端明确指定他们需要哪些数…...
大语言模型里的微调vs RAG vs 模板提示词
文章目录 介绍微调(Fine-tuning)定义优点:缺点:应用场景:技术细节 检索增强生成(RAG,Retrieval-Augmented Generation)定义优点:缺点:应用场景:技…...
网络编程:常用网络测试工具
telnet netstat ping arp wireshark(网络抓包工具) tcpdumpssh2 secure crt ——软件工具sudo ufw disable sudo apt-get install openssh-server openssh-client //两个命令敲完 得重启sudo apt-get install wireshark 1、telnet 远程登录工具&…...
mov视频怎么改成mp4?把mov改成MP4的四个方法
mov视频怎么改成mp4?选择合适的视频格式对于确保内容质量和流通性至关重要。尽管苹果公司的mov格式因其出色的视频表现备受赞誉,但在某些情况下,它并非最佳选择,因为使用mov格式可能面临一些挑战。MP4格式在各种设备(如…...
力扣1472.设计浏览器历史记录
力扣1472.设计浏览器历史记录 用双指针记录历史记录 以及栈顶高度移动时会直接把之前的记录消掉 class BrowserHistory {int pos-1;int top0;string history[5010];public:BrowserHistory(string homepage) {visit(homepage);}void visit(string url) {pos ;top pos;histor…...
准大一新生开学千万要带证件照用途大揭秘
1、提前关注好都有哪些考场,以及这些考场大致在网页的哪个位置。比如我选对外经贸大学,我就直接找到第二个点进去。 2、电脑上同时开了谷歌浏览器和IE浏览器,以及手机也登陆了。亲测下来,同一时间刷新,谷歌浏览器能显示…...
QImage显示图片像素
在Qt中,QImage 类是用来表示和处理图像的。如果你想查看或显示一个图片的像素数据,你可以使用 QImage 提供的方法来访问这些数据。以下是一些基本的方法来获取和显示图片的像素信息: 获取图像的像素格式: 使用 QImage::format() …...
uniapp使用高德地图(公众号+h5)
选择微信小程序的话后果就是你的地图出不来,出来了就报key异常 下面直接放配置和代码: 打包后的高德uni-app,uniCloud,serverless,高德地图,申请高德地图Key,配置使用高德地图,参数说明,高德开放平台用户名,百度地图,申请百度地图Key,配置使用百度地图,…...
深度学习与浅层学习:技术变革下的竞争态势
深度学习与浅层学习:技术变革下的竞争态势 在过去十年中,深度学习的崛起对整个人工智能领域产生了巨大影响,几乎在各种任务中显示出超越传统浅层学习方法的性能。这种变化不仅推动了技术的进步,还对硬件市场,尤其是显…...
LeetCode 219. 存在重复元素 II
LeetCode 219. 存在重复元素 II 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在,返回 true ;否则,返回 false 。 示例 1&am…...
【目标检测】使用自己的数据集训练并预测yolov8模型
1、下载yolov8的官方代码 地址: GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite 2、下载目标检测的训练权重 yolov8n.pt 将 yolov8n.pt 放在ultralytics文件夹下 3、数据集分布 注…...
应用监控SkyWalking调研
参考: 链路追踪( Skyworking )_skywalking-CSDN博客 企业级监控项目Skywalking详细介绍,来看看呀-CSDN博客 SkyWalking 极简入门 | Apache SkyWalking 使用 SkyWalking 监控 ClickHouse Server | Apache SkyWalking https://zhuanlan.zhihu.com/p/3…...
Selenium使用注意事项:
find_element 和 find_elements 的区别 WebDriver和WebElement的区别 问题: 会遇到报错: selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector",&…...
小程序需要进行软件测试吗?小程序测试有哪些测试内容?
在如今移动互联网快速发展的时代,小程序已成为人们生活中不可或缺的一部分。然而,面对日益增长的小程序数量和用户需求,小程序的稳定性和质量问题日益突显。因此,对小程序进行软件测试显得尤为重要。 近期的一项调查显示…...
秦淮网站建设/提高百度快速排名
01-求一个整数存储在内存中的二进制中1的个数 法一:循环遍历 问题引入以在十进制中,求某一个数字n中的某个数字m的数量,来引入二进制中求1的个数。 要求一个十进制数n中某一位数字m的个数,只需要让n对10取模与m比较、再让n n /…...
温岭网站建设公司/外链系统
Description Farmer John决定为他的所有奶牛都配备手机,以此鼓励她们互相交流。不过,为此FJ必须在奶牛们居住的N(1 < N < 10,000)块草地中选一些建上无线电通讯塔,来保证任意两块草地间都存在手机信号。所有的N块草地按1..N 顺次编号。…...
成都淮洲新城建设投资有限公司网站/网络广告电话
本文将以 kaldi 中 timit 的例程来看整个 run.sh 脚本的执行过程。 数据准备 请先进入 kaldi\egs\timit\s5\ 这个目录。 运行环境 由于 kaldi 可以在本地运行,也可以在 Oracle GridEngine 上运行,因此,请修改 cmd.sh。 如果你是在本地运行&am…...
哪几个网站适合自己做外贸/app优化推广
一到十二题由于比较简单,所以我直接给出了命令和输出。十二题后详述了解决方法和做题思路。这次做题后对grep、cut 、awk、wc等命令印象更加深刻,学到很多知识。但是学生初来乍到,有错误在所难免,还请老师们纠正。以下是我完成得作…...
cmsinitiatingoccupancyfraction/青岛关键词优化报价
来自:腾讯科技地址:https://view.inews.qq.com/a/TEC2017051300582404 这种勒索病毒名为WannaCry ,图中是安全研究人员的安全的计算机环境中进行演示。 腾讯科技讯 5月13日,据BBC等媒体报道,全球多国爆发电脑勒索病毒&…...
费县做网站/网站整站优化
之前也没写过什么博客,可能文章结构比较混乱,想到那写到哪。主要是把自己学习中的经验写下来。为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.net mvc框架在功能上基本上是伯仲之间。只是各…...