前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Postgresql 在数据库层如何获得底层操作系统与硬件信息

Postgresql 在数据库层如何获得底层操作系统与硬件信息

作者头像
AustinDatabases
发布于 2022-07-13 07:07:39
发布于 2022-07-13 07:07:39
7640
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

数据库层获得底层系统的信息是一个对DBA,友好的功能,在数据库内部通过命令获得底层系统的性能信息,对于数据库监控也是一个好的获取数据库的方式,可以直接将这些信息插入到数据库表内等等。

EDB 公司针对POSTGRESQL 开发出一套system_stats 系统通过extension的方式与POSTGRESQL 结合,获取

1 系统信息

2 CPU 信息,CPU 使用率

3 内存信息

4 IO 信息

5 磁盘信息

6 系统负载信息

7 系统的进程信息

安装非常简单 https://github.com/EnterpriseDB/system_stats

下载源码编译包,在PG的环境下进行make make install 后,就可以使用了,此次测试环境为 PG14 ,在进入到POSTGRESQL 环境下,直接运行

create extension system_stats;

功能就可以使用了。

通过执行 select * from pg_sys_os_info(); 命令可以获得当前数据库所在得系统的版本,主机名,以及process 和 thread的数量,和主机的架构,主机运行的多长时间等信息。

select * from pg_sys_cpu_info(); 通过这个命令可以对当前系统的CPU的信息进行展示。

select * from pg_sys_cpu_usage_info(); 的信息可以获得当前CPU 的工作情况,如CPU 运行繁忙度的信息,系统用户的时间信息等,从中可以获得CPU 是否繁忙的情况。

其中对于内存的信息获取对数据库运维来说是重要的,

select total_memory/1024/1024 as total_memory_MB,used_memory/1024/1024 as used_memory_MB,free_memory/1024/1024 as free_memory_MB,swap_used/1024/1024 as swap_used_MB from pg_sys_memory_info();

从这里可以看到系统中内存和使用的内存,以及 swap 的内存是否被使用过等等信息。

对于 select * from pg_sys_io_analysis_info(); 来说可以获得磁盘系统的工作情况,尤其对于系统磁盘的环境监控和比对系统繁忙期的IO 工作情况有很大的帮助,如 平均读取时间 平均写入时间等信息,都可以通过现有表的信息进行计算后获得。

对于磁盘的空间使用的情况,也可以通过 sys_disk_info 表来进行获取

select file_system,total_space/1024/1024 as TOTAL_MB,used_space/1024/1024 as USED_MB,free_space/1024/1024 as free_space_MB from pg_sys_disk_info();

这里可以获知系统中磁盘空间的使用和剩余的情况等等, 更有意思的是,我们经常对系统中进行的TOP 操作中的system avg load的信息这里也可以提供

select * from pg_sys_load_avg_info();

当然这里还可以通过系统表查询当前数据库所在服务器的网络包的发送和收取的情况,了解系统网络的工作情况,以及工作的繁忙度等问题。

select * from pg_sys_cpu_memory_by_process();

最后在系统表中获知当前的PROCESS 的信息,与ps -ef 是雷同的,同时可以在这里获知每个process 的CPU 与内存的使用情况等等。

最后是使用这个功能的用户有谁,默认SUPERUSER 是具有使用这个功能的用户,一般用户是无法使用这个功能的。

除此之外,可以通过monitor_system_stats 将权限赋予一般的用户,具有查看这些系统表的权限。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PostgreSQL 扫盲贴 常用的监控分析脚本
我一直有一个错觉,大家的POSTGRESQL的技术都非常了得,在年前实际上对我有几次的感触。
AustinDatabases
2025/03/03
840
PostgreSQL 扫盲贴 常用的监控分析脚本
ORACLE常用性能监控SQL【一】
kill session: 执行 alter system kill session ‘761,876’(sid 为 761);
小小工匠
2021/08/16
2.8K0
进阶数据库系列(二十三):PostgreSQL 性能优化
PostgreSQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如:
民工哥
2023/08/22
4K0
进阶数据库系列(二十三):PostgreSQL 性能优化
Microsoft SQL Server 2005 提供了一些工具来监控数据库
--WL 09-07-03 /*Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。 常规服务器动态管理对象包括: dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 dm_os_*:内存、锁定和时间安排 dm_tran_*:事务和隔离 dm_io_*:网络和磁盘的输入/输出 此部分介绍为
磊哥
2018/04/26
8580
从零开始学PostgreSQL (八):监控数据库动态
PostgreSQL 提供了一套丰富的统计信息收集和报告机制,用于监控数据库的运行状况和性能。以下是这些机制的一些关键要点:
DBA实战
2024/09/06
1590
从零开始学PostgreSQL (八):监控数据库动态
postgresql 监控你说了不算,谁说了算 ? (6 监控中需要考虑的问题)
​数据库监控,其实是一个收集指标,分析指标,最终得出系统当前状态数据的结果.同时对于关键指标正常的情况和非正常的情况,进行分析最终得出阈值,在触发阈值后开始进行报警. 另外监控还有两个用途:一是用于历史数据分析和展示,帮助我们确定系统的中长期趋势,从而帮助我们计划升级;二是在出现问题时立即采取行动.
AustinDatabases
2021/01/07
6310
Greenplum数据库快速调优
为进程分配内存的百分比,默认是50,vm.overcommit_memory = 2 的情况下生效
小徐
2021/01/27
2.8K0
Greenplum数据库快速调优
PostgreSQL数据库体系架构
PostgreSQL数据库的进程可以分为三类:后台进程、后端进程或叫服务器进程、客户端进程或用户进程。
用户8006012
2022/06/10
4.4K1
利用MySQL系统数据库做性能负载诊断
1,在稳定性层面来说,更多的是关注高可用、读写分离、负载均衡,灾备管理等等high level层面的措施(就好比要保证生活的稳定性)
星哥玩云
2022/08/18
2.3K0
利用MySQL系统数据库做性能负载诊断
开发实践|玩转Python开发工具库psutil
本篇内容介绍了“怎么用Python实现查询CPU和内存”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让我带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
六月暴雪飞梨花
2024/01/25
2290
开发实践|玩转Python开发工具库psutil
Postgresql存储结构
如果阅读过手册一定听过postgresql cluster的概念,第一次听到这个概念可能都会有一些困惑。cluster在安装数据库时,由initdb工具生成,initdb后产生的pgdata文件夹可以理解为cluster的物理存储结构。数据库启动、停止时pg_ctl -D参数指定的文件夹即cluster文件夹,所以一个PG Server可以运行在一个PG Cluster上。
mingjie
2022/05/12
1.3K0
Postgresql存储结构
PostgreSQL 性能优化全方位指南:深度提升数据库效率
在现代互联网应用中,数据库性能优化是系统优化中至关重要的一环,尤其对于数据密集型和高并发的应用而言,PostgreSQL(以下简称PG)凭借其丰富的特性和强大的功能,成为很多企业的首选。然而,随着数据规模的扩展和查询复杂度的提升,PostgreSQL的性能问题逐渐显现。本文将详细介绍PostgreSQL性能优化的各个方面,涵盖硬件调优、数据库配置、索引使用、查询优化等内容,帮助你全方位提升数据库的效率。
用户11404404
2024/12/13
6630
Greenplum数据库巡检报告
4.2.4 查看所有segment是否可达,确保QD(query dispatching)正常 16
小徐
2020/04/20
2.7K0
Greenplum数据库巡检报告
PostgreSQL 难搞的事系列 --- vacuum 的由来与PG16的命令的改进 (1)
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共1720人左右 1 + 2 + 3 + 4+5) 另欢迎 OpenGauss GAUSSDB的技术人员加入
AustinDatabases
2023/11/17
3680
PostgreSQL  难搞的事系列 --- vacuum 的由来与PG16的命令的改进 (1)
进阶数据库系列(二十六):PostgreSQL 数据库监控管理
在数据库集群中,有3个配置文件,分别是:postgresql.conf,pg_hba.conf和pg_ident.conf。其中postgresql.conf为服务器主要的配置文件,pg_hba.conf是客户端认证配置文件,pg_ident.conf用来配置哪些操作系统用户可以映射为数据库用户。
民工哥
2023/08/22
1.8K0
进阶数据库系列(二十六):PostgreSQL 数据库监控管理
GreenPlum的数据库性能
Greenplum基于数据库管理系统(DBMS)提供给请求者信息的速率来衡量数据库性能。
AiDBA宝典
2023/11/01
5790
GreenPlum的数据库性能
Linux中的HugePage对数据库服务来说为什么如此重要:以PG为例
用户经常因为OOM killer造成数据库崩溃问题来找我们寻求帮助。Out Of Memory killer会杀死PG进程,并且是我们遇到的数据库崩溃问题中首要原因。主机内存不足的原因可能有多种,最常见的有:
yzsDBA
2021/10/19
1.4K0
Linux中的HugePage对数据库服务来说为什么如此重要:以PG为例
进阶数据库系列(二十四):PostgreSQL 数据库日志与日常巡检
参考文章:https://blog.csdn.net/qq_33445829/article/ details/126578647 https://blog.csdn.net/qq_33445829 /article/details/126638945
民工哥
2023/08/22
1.5K0
进阶数据库系列(二十四):PostgreSQL 数据库日志与日常巡检
POSTGRESQL 数据库结构体系 ||| 东来西去 三个角度看
POSTGRESQL 的数据库体系结构是了解POSTGRESQL 数据库的整体概念的一个开始,而数据库的结构体系这个词有点大,所以这里从三个角度出发来看POSTGRESQL 结构
AustinDatabases
2020/11/27
5870
你知道 DBA 工作中都要做的巡检有哪些吗?
-------------------------------------------------------------------
JiekeXu之路
2020/04/14
7830
你知道 DBA 工作中都要做的巡检有哪些吗?
推荐阅读
相关推荐
PostgreSQL 扫盲贴 常用的监控分析脚本
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档