jdbc begin transaction failed_sql报错

jdbc begin transaction failed_sql报错运维管理postgresql 时难免不会遇到一些疑难问题,遇到这里问题时怎么处理呢。 一、分析是整库异常还是个别进程异常 二、首先收集信息 确认好异常类别后,可以进行收集相应的信息了 整库异常 1….

PostgreSQL疑难问题分析步骤

运维管理postgresql 时难免不会遇到一些疑难问题,遇到这里问题时怎么处理呢。

一、分析是整库异常还是个别进程异常

二、首先收集信息

确认好异常类别后,可以进行收集相应的信息了

整库异常

1.    检查server状态
执行pg_ctl status [-D datadir],并将结果保存
2.    保存pg_top输出结果
将pg_top所有输出结果保存
按c键输出完整sql文本:
 
3.    保存pg_stat_activity所有记录
psql –c “select * from pg_stat_activity;”>$PGNAME_session_activity.csv
4.    保存等待事件信息
查询等待时间,并保存结果
 with t_wait as  
(select a.locktype,a.database,a.relation,a.page,a.tuple,a.classid,a.objid,a.objsubid,a.pid,a.virtualtransaction,a.virtualxid,a,transactionid,b.query,b.xact_start,b.query_start,b.usename,b.datname from pg_locks a,pg_stat_activity b where a.pid=b.pid and not a.granted), 
t_run as  
(select a.mode,a.locktype,a.database,a.relation,a.page,a.tuple,a.classid,a.objid,a.objsubid,a.pid,a.virtualtransaction,a.virtualxid,a,transactionid,b.query,  b.xact_start,b.query_start,b.usename,b.datname from pg_locks a,pg_stat_activity b where a.pid=b.pid and a.granted)  
select r.locktype,r.mode,r.usename r_user,r.datname r_db,r.relation::regclass,r.pid r_pid,r.xact_start r_xact_start,r.query_start r_query_start,r.query r_query, 
w.usename w_user,w.datname w_db,w.pid w_pid,w.xact_start w_xact_start,w.query_start w_query_start,w.query w_query   
from t_wait w,t_run r where 
  r.locktype is not distinct from w.locktype and 
        r.database is not distinct from w.database and 
        r.relation is not distinct from w.relation and 
        r.page is not distinct from w.page and 
        r.tuple is not distinct from w.tuple and 
        r.classid is not distinct from w.classid and 
        r.objid is not distinct from w.objid and 
  r.objsubid is not distinct from w.objsubid 
       order by r.xact_start;
5.    查询锁信息
select a.locktype,a.pid,a.relation,a.mode,a.granted,b.relname from pg_locks a,pg_class b where a.relation=b.oid;

   单个进程异常需要收集相关信息

1.    数据库中查询进程相关sql信息
select * from pg_stat_activity where pid=$pid;
select a.locktype,a.pid,a.relation,a.mode,a.granted,b.relname from pg_locks a,pg_class b where a.relation=b.oid and a.pid=$pid;
2.    收集strace等信息
strace -rTfo strace.$PID -p $PID
3.    收集pstack信息
pstack $PID >> pstack.$PID
lsof -p $PID >> lsof.$PID
4.    收集perf等信息
perf stat -p $PID >> perf_stat.$PID
perf record -e cpu-clock -g -p $PID
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7435.html

(0)
上一篇 2023-03-20 13:00
下一篇 2023-03-20 14:00

相关推荐

  • 以小数点为中心的Python工程师

    以小数点为中心的Python工程师Python是一种以代码简洁、易读性强为特点的编程语言。作为一名Python工程师,对编程的影响是显著的。

    2024-05-26
    67
  • rds mysql区别_mysql中decimal

    rds mysql区别_mysql中decimalRDBMS即关系数据库管理系统(Relational Database Management System)的特点: 数据以表格的形式出现 每行为各种记录名称 每列为记录名称所对应的数据域 许多的行…

    2023-02-06
    163
  • 使用Python Fixture进行测试

    使用Python Fixture进行测试在开发应用程序时,测试是一个非常重要的过程。测试可以发现和解决潜在的问题,确保应用程序的质量。Python是一个很受欢迎的编程语言,它可以用于编写测试,这使得测试编写和执行更加简单和高效。其中,Fixture是一个非常重要的工具,可以帮助减少代码重复性,简化测试脚本的编写,提高测试脚本的可读性和维护性。在这篇文章中,我们将详细讨论如何使用Python Fixture进行测试,以及如何在实际的开发中应用Fixture。 h2 id=”title-2″Fixture是什么?/h2 pFixture是测试用例执行的环境,包括测试数据、环境设置、测试前后的操作等。在unittest中,Fixture是通过setUp()和tearDown()这两个方法来实现的。setUp()方法会在每个测试方法执行之前执行一次,tearDown()方法会在每个测试方法执行完后执行一次。即每个测试方法执行前和执行后都会调用Fixture代码。Fixture代码为测试方法提供了环境,同时也对测试结果的正确性具有至关重要的影响。

    2024-07-31
    38
  • SQLite Is Serverless 是无服务器的「建议收藏」

    SQLite Is Serverless 是无服务器的「建议收藏」按:虽然我觉得这篇文章有点蹭热度,但,所说的内容确实是在澄清一些东西。很多新的概念其实缺少背后的语境,新的造词都太随意了,以至于有混淆视听的嫌疑。 SQLite Is Serverless 是无服务…

    2023-01-24
    141
  • Python zipfile模块使用指南

    Python zipfile模块使用指南随着计算机存储技术的日益发展,我们存储在硬盘中的数据越来越多,这些数据可能是文本、图像、音频或者其他形式的数据。而压缩和解压缩文件是常见的操作方法,它们可以有效地节省硬盘存储空间,也让文件的传输更加方便。Python的zipfile模块提供了一种简单的方式来处理.zip格式的文件,我们可以使用Python zipfile模块来实现对压缩包的操作。

    2024-07-25
    37
  • python只能用字符串读入吗(python向文件中写入字符串)

    python只能用字符串读入吗(python向文件中写入字符串)因为input ()”函数只是输入函数,是用于接受一个标准输入数据

    2023-11-29
    122
  • 使用Python Numpy生成高效随机数

    使用Python Numpy生成高效随机数Python Numpy是一个基于Python语言的开源科学计算库,其最重要的特点是提供了一种多维数组对象(ndarray),用于高效地存储和操作大型数据集合,同时还提供了大量的数学函数库。

    2024-01-11
    119
  • Oracle数据库简介[通俗易懂]

    Oracle数据库简介[通俗易懂]简介 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目…

    2023-02-06
    143

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注