首页 > 其他分享 >openGauss 分析查询语句运行状态

openGauss 分析查询语句运行状态

时间:2024-05-13 14:20:22浏览次数:26  
标签:语句 datname 查看 查询 state query openGauss

分析查询语句运行状态

问题现象

系统中部分查询语句运行时间过长,需要分析查询语句的运行状态。

处理办法

  1. 以操作系统用户omm登录主机。

  2. 使用如下命令连接数据库。

    gsql -d postgres -p 8000
    

    postgres为需要连接的数据库名称,8000为端口号。

  3. 设置参数track_activities为on。

    SET track_activities = on;
    

    当此参数为on时,数据库系统才会收集当前活动查询的运行信息。

  4. 查看正在运行的查询语句。以查看视图pg_stat_activity为例。

    SELECT datname, usename, state, query FROM pg_stat_activity; 
    datname  | usename | state  | query 
    ----------+---------+--------+-------
    postgres | omm     | idle   | 
    postgres | omm     | active | 
    (2 rows) 
    

    如果state字段显示为idle,则表明此连接处于空闲,等待用户输入命令。 如果仅需要查看非空闲的查询语句,则使用如下命令查看。

    SELECT datname, usename, state, query FROM pg_stat_activity WHERE state != 'idle';
    
  5. 分析查询语句为活跃状态还是阻塞状态。通过如下命令查看当前处于阻塞状态的查询语句。

    SELECT datname, usename, state, query FROM pg_stat_activity WHERE waiting = true;
    

    查询结果中包含了当前被阻塞的查询语句,该查询语句所请求的锁资源可能被其他会话持有,正在等待持有会话释放锁资源。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:语句,datname,查看,查询,state,query,openGauss
From: https://www.cnblogs.com/renxyz/p/18189102

相关文章

  • openGauss 分析查询语句是否被阻塞
    分析查询语句是否被阻塞问题现象数据库系统运行时,在某些业务场景下,查询语句会被阻塞,导致语句运行时间过长。原因分析查询语句需要通过加锁来保护其要访问的数据对象。当要进行加锁时发现要访问的数据对象已经被其他会话加锁,则查询语句会被阻塞,等待其他会话完成操作并释放锁资......
  • openGauss 概述
    概述数据备份是保护数据安全的重要手段之一,为了更好的保护数据安全,openGauss数据库支持三种备份恢复类型、多种备份恢复方案,备份和恢复过程中提供数据的可靠性保障机制。备份与恢复类型可分为逻辑备份与恢复、闪回恢复。逻辑备份与恢复:通过逻辑导出对数据进行备份,逻辑备份只......
  • openGauss 服务启动失败
    服务启动失败问题现象服务启动失败。原因分析配置参数不合理,数据库因系统资源不足,或者配置参数不满足内部约束,启动失败。由于部分数据节点状态不正常,导致数据库启动失败。目录权限不够。例如对/tmp目录、数据库数据目录的权限不足。配置的端口已经被占用。开启了系统防火......
  • openGauss 分析查询语句长时间运行的问题
    分析查询语句长时间运行的问题问题现象系统中部分查询语句运行时间过长。原因分析查询语句较为复杂,需要长时间运行。查询语句阻塞。处理办法以操作系统用户omm登录主机。使用如下命令连接数据库。gsql-dpostgres-p8000postgres为需要连接的数据库名称,800......
  • SQL Server实战七:自定义数据类型、标量值、内嵌表值、多语句表值函数的操作
      本文介绍基于MicrosoftSQLServer软件,实现数据库用户自定义数据类型的创建、使用与删除,以及标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除方法。目录1用SQL语句创建一个用户定义的数据类型Idnum2使用Idnum创建学生表STUDENT与教师表TEACHER3交互式......
  • 分组查询
    语法select分组函数,列(要求出现在groupby的后面)from表【where筛选条件】groupby分组的列表【orderby子句】注意:查询列表必须特殊,要求是分组函数和groupby后出现的字段特点:......
  • SQLServer如何查询近3分钟最消耗CPU的SQL
    在SQLServer中,要查询近3分钟最消耗CPU的SQL语句,可以使用sys.dm_exec_query_stats动态管理视图结合sys.dm_exec_sql_text函数来获取SQL语句的文本。不过,直接查询近3分钟的数据可能需要一些额外的逻辑来筛选时间范围,因为sys.dm_exec_query_stats并不直接提供时间筛选的功能。一种......
  • sql学习:终于把sql case语句使用讲明白了,一看就懂
    作者|幸福it民工来源|今日头条在数据库查询分析中,经常遇到case条件判断,总结出来供大家参考,下面通过两个实例给大家讲解。case用途介绍:CASE是多条件分支语句,相比IF…ELSE语句,CASE语句进行分支流程控制可以使代码更加晰,易于理解。CASE语句也根据表达式逻辑值的真假来决定执......
  • [转帖]openGauss数据库性能调优
    https://www.modb.pro/db/29135 概述本文描述了openGauss数据库基于Taishan服务器,在openEuler操作系统上,为了达到数据库的极致性能,所依赖的关键系统级调优配置。硬件规格:CPU:鲲鹏-920(1620)ARMaarch6464核*2内存:>=512G磁盘:NvmeSSD*4(每块大于1TB)网卡:......
  • java MySQL的in查询两个字段同时相等的多个数据查询
    在Java中想进行下面的查询,不想写循环一条条查selectid,name,address,age fromuserswherename='A' and address='addr1'selectid,name,address,age fromuserswherename='B' and address='addr2'selectid,name,address,age fromusers......