当前位置: 首页 > news >正文

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. 表膨胀
  • 查询命令:
    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;
    
    返回每个表的总大小、堆大小、TOAST 大小和索引大小。
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 的安装使用

全网最适合入门的面向对象编程教程&#xff1a;13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用 摘要&#xff1a; 本文主要介绍了可视化阅读代码神器Sourcetrail的安装与使用&#xff0c;包括软件简介和特性、下载地址、安装方式、新建工程和如何查看…...

Django 视图 - FBV 与 CBV

Django 视图 - FBV 与 CBV 在 Django 框架中&#xff0c;视图是处理 Web 请求和返回 Web 响应的核心组件。Django 提供了两种主要的视图编写方式&#xff1a;函数基础视图&#xff08;Function-Based Views&#xff0c;简称 FBV&#xff09;和类基础视图&#xff08;Class-Bas…...

AI机器人在未来的应用场景预测:是否会取代人类?华为、百度、特斯拉他们在AI领域都在做什么?

引言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;AI机器人在各个领域的应用变得越来越普遍。从工业自动化到日常生活&#xff0c;AI机器人已经开始展现出强大的潜力和实际应用价值。本文将深入探讨AI机器人在未来的应用场景&#xff0c;并分析它们是否…...

第58期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…...

maven 依赖冲突

依赖冲突 1、对于 Maven 而言&#xff0c;同一个 groupId 同一个 artifactId 下&#xff0c;只能使用一个 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标定工具&#xff08;在你自己的电脑上&#xff09;2.2 录制rosbag(在对应飞机上)2.3 运行标定程序&#xff08;在你自己的电脑上&#xff09; 三、双目及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 注解,自定义注解,元注解,注解本质,注解解析】

文章目录 什么是注解&#xff1f;Java内置注解自定义注解元注解注解的本质注解解析 什么是注解&#xff1f; 注解是Java编程语言中的一种元数据&#xff0c;提供了有关程序的额外信息。注解以符号开始&#xff0c;紧跟着注解的名称和一对括号&#xff0c;括号内包含注解的参数…...

染色法判定二分图

什么是二分图&#xff1f; 二分图&#xff0c;也称作二部图&#xff0c;是图论中的一种特殊模型。在一个无向图G(V,E) 中&#xff0c;如果顶点集合 V 可以被分割成两个互不相交的子集 A 和 B&#xff0c;并且图中的每条边 (i,j) 关联的两个顶点 i 和 j 分别属于这两个不同的顶…...

自动气象站的主要功能优势

在科技日新月异的今天&#xff0c;我们生活的方方面面都受到了科技的影响。其中&#xff0c;自动气象站作为气象观测领域的重要一环&#xff0c;不仅提升了气象数据的准确性和时效性&#xff0c;还为我们的日常生活、农业生产、灾害预防等提供了重要的数据支持。 自动气象站概述…...

Java中实现二维数组(矩阵)的转置

在矩阵运算中&#xff0c;矩阵的转置是一个基本操作&#xff0c;即将矩阵的行变成列&#xff0c;列变成行。在Java中&#xff0c;我们可以通过编写一个方法来实现二维数组的转置。下面&#xff0c;我将详细介绍如何在Java中完成这一任务&#xff0c;并提供完整的代码示例。 编…...

Prometheus+Grafana主机运行数据

目录 介绍 安装Node Exporter 配置Prometheus 验证配置 导入仪表盘 介绍 Prometheus是一款开源的监控和警报工具&#xff0c;而Node Exporter是Prometheus的一个官方插件&#xff0c;用于采集主机上的各种系统和硬件指标。 安装Node Exporter 下载最新版本的Node Export…...

GraphQL在Postman中:释放API查询的强大潜能

&#x1f680; GraphQL在Postman中&#xff1a;释放API查询的强大潜能 Postman作为API开发和测试的领先工具&#xff0c;对GraphQL的支持为开发者提供了一种新的方式来查询和管理数据。GraphQL是一种查询语言&#xff0c;用于API&#xff0c;允许客户端明确指定他们需要哪些数…...

大语言模型里的微调vs RAG vs 模板提示词

文章目录 介绍微调&#xff08;Fine-tuning&#xff09;定义优点&#xff1a;缺点&#xff1a;应用场景&#xff1a;技术细节 检索增强生成&#xff08;RAG&#xff0c;Retrieval-Augmented Generation&#xff09;定义优点&#xff1a;缺点&#xff1a;应用场景&#xff1a;技…...

网络编程:常用网络测试工具

telnet netstat ping arp wireshark&#xff08;网络抓包工具&#xff09; 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&#xff1f;选择合适的视频格式对于确保内容质量和流通性至关重要。尽管苹果公司的mov格式因其出色的视频表现备受赞誉&#xff0c;但在某些情况下&#xff0c;它并非最佳选择&#xff0c;因为使用mov格式可能面临一些挑战。MP4格式在各种设备&#xff08;如…...

Intel OneAPI HPC套件+CMake:Windows10下Fortran/MPI并行程序编译全攻略

Intel OneAPI HPC套件CMake&#xff1a;Windows10下Fortran/MPI并行程序编译全攻略 高性能计算&#xff08;HPC&#xff09;领域对并行计算的需求日益增长&#xff0c;而Fortran语言因其在科学计算中的高效性&#xff0c;依然是许多HPC应用的首选。本文将详细介绍如何在Windows…...

Chord视觉定位模型效果展示:‘找到图中的白色花瓶’→精准坐标输出真实案例集

Chord视觉定位模型效果展示&#xff1a;‘找到图中的白色花瓶’→精准坐标输出真实案例集 1. 项目简介 1.1 什么是Chord视觉定位模型 Chord是一个基于Qwen2.5-VL多模态大模型的视觉定位服务&#xff0c;它能够理解自然语言描述&#xff0c;并在图像中精确定位目标对象&#…...

Maven手动导入jar包到本地仓库的完整指南(含常见错误排查)

Maven手动导入jar包到本地仓库的完整指南&#xff08;含常见错误排查&#xff09; 在Java开发中&#xff0c;Maven作为主流的依赖管理工具&#xff0c;其本地仓库机制为开发者提供了极大的便利。然而&#xff0c;当我们遇到第三方提供的非Maven中央仓库jar包&#xff0c;或是团…...

图神经网络训练避坑指南:如何正确选择Inductive或Transductive学习方式

图神经网络训练避坑指南&#xff1a;如何正确选择Inductive或Transductive学习方式 第一次接触图神经网络时&#xff0c;看到论文里频繁出现的"Inductive"和"Transductive"这两个术语&#xff0c;我完全摸不着头脑。直到在实际项目中踩了几个坑之后&#x…...

Qwen-Image镜像效果展示:Qwen-VL对医学CT/MRI切片关键病灶区域描述能力

Qwen-Image镜像效果展示&#xff1a;Qwen-VL对医学CT/MRI切片关键病灶区域描述能力 1. 引言&#xff1a;医学影像分析的AI新突破 在医疗诊断领域&#xff0c;CT和MRI影像的准确解读往往需要经验丰富的放射科医生花费大量时间。传统的人工分析方式不仅效率低下&#xff0c;还容…...

爬虫必修课:深入抓包技术,让Python爬虫更强大

作为一名爬虫开发者&#xff0c;你是否遇到过这样的困境&#xff1a;明明在浏览器中能看到数据&#xff0c;用Python模拟请求却拿不到&#xff1f;或者网站明明没有复杂的JavaScript&#xff0c;却总是返回空数据&#xff1f;这时候&#xff0c;抓包就成了我们的救命稻草。今天…...

PyTorch-BigGraph实战案例:社交网络、推荐系统、知识图谱应用全攻略

PyTorch-BigGraph实战案例&#xff1a;社交网络、推荐系统、知识图谱应用全攻略 【免费下载链接】PyTorch-BigGraph Generate embeddings from large-scale graph-structured data. 项目地址: https://gitcode.com/gh_mirrors/py/PyTorch-BigGraph PyTorch-BigGraph&…...

Llama-3.2V-11B-cot参数详解:11B模型显存占用分析与INT4量化部署指南

Llama-3.2V-11B-cot参数详解&#xff1a;11B模型显存占用分析与INT4量化部署指南 1. 模型概述 Llama-3.2V-11B-cot 是一个支持系统性推理的视觉语言模型&#xff0c;基于LLaVA-CoT论文实现。这个模型结合了图像理解和逐步推理能力&#xff0c;能够对输入的视觉内容进行深度分…...

室内照明系统(有完整资料)

资料查找方式&#xff1a;特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可编号&#xff1a;T1902205M设计简介&#xff1a;本设计是基于单片机的室内照明系统&#xff0c;主要实现以下功能&#xff1a;1.采集光照数据和是否有人&#xff0c;实时显示…...

Kook Zimage真实幻想Turbo保姆级教程:Streamlit WebUI自定义CSS美化与多用户配置

Kook Zimage真实幻想Turbo保姆级教程&#xff1a;Streamlit WebUI自定义CSS美化与多用户配置 1. 项目简介 Kook Zimage真实幻想Turbo是一款专为个人GPU设计的轻量化幻想风格文本生成图像系统。这个项目基于Z-Image-Turbo官方极速文生图底座&#xff0c;通过特殊的技术处理方式…...