PostgreSQL数据库查询表是否被锁,以及解锁表的办法

news/2025/9/29 11:08:35/文章来源:https://www.cnblogs.com/yeyuzhuanjia/p/19118351

问题现象:

(1)、CDM任务执行时报错:org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.

2025-09-29 10:22:19.663|INFO |cdm-job-submit-pool24|[o.a.s.c.jdbc.GenericJdbcExecutor:596]|Destructive Action Warning: truncate all data: TRUNCATE TABLE "turbo_dev_01"."t_cm_customer_ship_detail"
2025-09-29 10:27:19.763|ERROR|cdm-job-submit-pool24|[org.apache.sqoop.utils.JdbcSandbox:62]|occur exception, actual is :
org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:399)at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:356)at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:341)at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:317)at org.postgresql.jdbc.PgStatement.executeUpdate(PgStatement.java:290)at org.apache.sqoop.connector.jdbc.sql.impl.WrapStatement.lambda$executeUpdate$1(WrapStatement.java:33)at java.security.AccessController.doPrivileged(Native Method)at org.apache.sqoop.utils.JdbcSandbox.doPrivileged(JdbcSandbox.java:53)at org.apache.sqoop.connector.jdbc.sql.impl.WrapStatement.executeUpdate(WrapStatement.java:33)at org.apache.sqoop.connector.jdbc.GenericJdbcExecutor.executeUpdate(GenericJdbcExecutor.java:741)at org.apache.sqoop.connector.jdbc.GenericJdbcExecutor.truncateTable(GenericJdbcExecutor.java:597)at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.sqoop.connector.jdbc.writer.JdbcExecutorProxy$ExecutorInvocationHandler.invoke(JdbcExecutorProxy.java:95)at com.sun.proxy.$Proxy36.truncateTable(Unknown Source)at org.apache.sqoop.connector.jdbc.GenericJdbcToInitializer.clearBeforeLoading(GenericJdbcToInitializer.java:842)at org.apache.sqoop.connector.jdbc.GenericJdbcToInitializer.prepareJob(GenericJdbcToInitializer.java:641)at org.apache.sqoop.connector.jdbc.GenericJdbcToInitializer.prepareJob(GenericJdbcToInitializer.java:86)at org.apache.sqoop.driver.job.JobInitiator.prepareJob(JobInitiator.java:852)at org.apache.sqoop.driver.job.JobSubmissionContext.submitInternal(JobSubmissionContext.java:238)at org.apache.sqoop.driver.job.JobSubmissionContext.submit(JobSubmissionContext.java:183)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:750)
Caused by: java.net.SocketTimeoutException: Read timed outat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)at java.net.SocketInputStream.read(SocketInputStream.java:171)at java.net.SocketInputStream.read(SocketInputStream.java:141)at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)at org.postgresql.core.PGStream.receiveChar(PGStream.java:476)at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2174)at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)... 28 common frames omitted

(2)重试后,发现执行也会报错

2025-09-29 10:15:14.175|INFO |cdm-job-submit-pool7|[o.a.s.c.jdbc.GenericJdbcExecutor:1446]|execute check sql: SELECT count(1) FROM "turbo_dev_01"."t_cm_customer_ship_detail" WHERE 1 = 2 .
2025-09-29 10:20:14.275|ERROR|cdm-job-submit-pool7|[org.apache.sqoop.utils.JdbcSandbox:62]|occur exception, actual is :
org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:399)at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:356)at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:341)at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:317)at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:312)at org.apache.sqoop.connector.jdbc.sql.impl.WrapStatement.lambda$execute$3(WrapStatement.java:50)at java.security.AccessController.doPrivileged(Native Method)at org.apache.sqoop.utils.JdbcSandbox.doPrivileged(JdbcSandbox.java:53)at org.apache.sqoop.connector.jdbc.sql.impl.WrapStatement.execute(WrapStatement.java:50)at org.apache.sqoop.connector.jdbc.GenericJdbcExecutor.existTable(GenericJdbcExecutor.java:1448)at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.sqoop.connector.jdbc.writer.JdbcExecutorProxy$ExecutorInvocationHandler.invoke(JdbcExecutorProxy.java:95)at com.sun.proxy.$Proxy36.existTable(Unknown Source)at org.apache.sqoop.connector.jdbc.GenericJdbcFromInitializer.configureTableProperties(GenericJdbcFromInitializer.java:750)at org.apache.sqoop.connector.jdbc.GenericJdbcFromInitializer.initialize(GenericJdbcFromInitializer.java:206)at org.apache.sqoop.connector.jdbc.GenericJdbcFromInitializer.initialize(GenericJdbcFromInitializer.java:111)at org.apache.sqoop.driver.job.JobInitiator.initializeConnector(JobInitiator.java:787)at org.apache.sqoop.driver.job.JobInitiator.createJobRequest(JobInitiator.java:371)at org.apache.sqoop.driver.job.JobSubmissionContext.submitInternal(JobSubmissionContext.java:235)at org.apache.sqoop.driver.job.JobSubmissionContext.submit(JobSubmissionContext.java:183)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:750)
Caused by: java.net.SocketTimeoutException: Read timed outat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)at java.net.SocketInputStream.read(SocketInputStream.java:171)at java.net.SocketInputStream.read(SocketInputStream.java:141)at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:192)at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:159)at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:144)at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:76)at org.postgresql.core.PGStream.receiveChar(PGStream.java:476)at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2174)at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)... 28 common frames omitted

 

问题原因:

  由于重试多次,发现还是报相同的错误。怀疑是表被锁导致。

解决办法:

(1)、查询表是否被锁,获取pid 

SELECTl.locktype,l.MODE,l.GRANTED,A.pid,       --解除锁表使用
    A.usename,A.query,A.STATE,A.application_name 
FROMpg_locks lJOIN pg_stat_activity A ON l.pid = A.pidJOIN pg_class C ON l.relation = C.oid 
WHEREC.relname = 't_cm_customer_ship_detail' -- 将 your_table_name 替换为你的表名AND l.relation IS NOT NULL;

 

(2)解锁表,根据pid解锁表

SELECT pg_terminate_backend(139637009676032); --查询pid接触锁表

 

 



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用信号量机制实现互斥,同步,前驱

实现进程互斥 1.分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问) 2.设置互斥信号量mutex,初始值为1 (mutex n.互斥) 3.进入区P(mutex)--申请资源 4.退出区V(mutex)--释放资源 注意: 对于不同的临…

详细介绍:HDFS和MapReduce——Hadoop的两大核心技

详细介绍:HDFS和MapReduce——Hadoop的两大核心技pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

同城分类网站建设怎么免费查企业电话

简述 RT-Thread的构建与配置系统由以下几个部分组成: KConfig:kernel config配置文件(提供系统的配置裁剪功能)SCons:构建工具env工具:主要提供构建系统所需的各种环境变量以及软件包的管理 Kconfig在R…

AxC杂题乱做

\(\operatorname{Update\;on\;2025.9.26}\) ABC422F dp题。 考虑费用提前计算,设 \(f_{i,j}\) 表示当前在点 \(i\),还需要走 \(j\) 步的最小花费。 \[f_{v,j}\gets f_{u,j+1}+j\times w_v,\exist (u,v) \]复杂度 \(O…

Apache Hive 如何在大内容中发挥能量

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【AI 哲学思考】从大模型演进到生命隐喻:个性、极限与先天后天之问

【AI 哲学思考】从大模型演进到生命隐喻:个性、极限与先天后天之问从大模型演进到生命隐喻:个性、极限与先天后天之问当下对 AI 大模型的优化,无论是微调以适配特定场景,还是对齐人类价值观,几乎都离不开一个前提…

【AI 哲学思考】记忆的形态:从人脑到 AI 的存储之问

【AI 哲学思考】记忆的形态:从人脑到 AI 的存储之问记忆的形态:从人脑到 AI 的存储之问人脑的记忆究竟能清晰到何种程度?我们能一字不差地背诵多少内容?显然,这份 “零误差记忆容量” 必然存在一个上限 —— 就像…

广州万户网站公司wordpress英文美食主题

前言 计划是这样的:当有人使用你不理解的特性时,直接开枪打死他们。这比学习新东西要容易得多,不久之后,活下来的程序员只会用一个容易理解的、微小的 Python 0.9.6 子集来编写代码 。 Tim Peters,传奇的核心开发者&am…

ISP DMA TEST

定义理解 Camera ISP 场景 Camera ISP 场景下在 ISP → Memory 的数据流里:ISP 内部有 DMA 引擎(通常叫 ISP output DMA / Write DMA)。 ISP 出一帧时,数据通过 内部 DMA 硬件写入内存。 一帧传完,ISP 会产生“fr…

基于遗传优化的SVM织物瑕疵类型识别matlab仿真 - 实践

基于遗传优化的SVM织物瑕疵类型识别matlab仿真 - 实践2025-09-29 10:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

完整教程:大模型agent综述:A Survey on Large Language Model based Autonomous Agents

完整教程:大模型agent综述:A Survey on Large Language Model based Autonomous Agentspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importan…

三脚电感在报警器芯片里的实际作用与用法

由芯片上的声音输出端,通过1K电阻,接到三极管基极脚,再通过集电极脚接到三脚电感的第3脚,同时接到蜂鸣片。三脚电感的另外二个脚,长的2脚接到电源正极,1脚直接接到蜂鸣片。这样就能提升音量,,可以与不接三脚电…

莆田外贸自建网站国家建设局网站

Github网址:nagadomi/waifu2x:动漫风格艺术的图像超分辨率 (github.com) 该项目主要讲述的是如何利用预训练的深度学习模型来达到无损扩大收缩和去噪,对于一般训练图像的小伙伴应该很清晰图像经常要通过resize操作固定大小,然后c…

音乐网站模板免费源码哔哩哔哩网站4 3比例怎么做

最近呢小誉收到了一位工作十年的学员投稿,这位学员是2011年从誉天学习HCIE课程并顺利拿证,先后在华为等大厂工作。他想把他这十年的工作经验分享给各位学弟学妹们。 这些经验并非来自于具体的技术实现,而是在架构设计和实施过程中所体会到的一…

洛谷题单指南-进阶数论-P5091 【模板】扩展欧拉定理

原题链接:https://www.luogu.com.cn/problem/P5091 题意解读:求ab % m,b超级大。 解题思路: 大数幂取模问题,通常要用到扩展欧拉定理,下面从欧拉函数开始介绍。 1、欧拉函数 定义:小于等于n的正整数中与n互质的…

jenkins maven nacos springboot profile实现多环境配置

在 Jenkins 构建 Spring Boot 项目时,结合 Maven、Nacos 和 Profile 可以实现多环境(开发、测试、生产)的自动化部署与配置管理。以下是四者的协同工作方式及具体实现步骤: 核心概念与关系Spring Boot Profile:用…

RAG is really dead? 大模型和知识之间的桥梁没了? - spader

作者:SpaderMan 从 RAG 到上下文工程:理性思考 AI 应用开发,以交付业务结果为目标 最近,Latent Space 播客发布了一期标题为["RAG 已死,上下文工程为王"](https://www.latent.space/p/chroma "&qu…

.NET操作Excel:高效材料读写与批量运行

.NET操作Excel:高效材料读写与批量运行pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

【深度解析】从零构建体育数据流水线:足球与篮球数据接入实战

【深度解析】从零构建体育数据流水线:足球与篮球数据接入实战不止于兴趣,更是技术实践 作为一名开发者兼体育爱好者,我始终对数据驱动体育的世界着迷。但不同于普通观众,我们更关心的是:这些数据如何通过技术手段…

Qwen-Image技术报告

原文:https://mp.weixin.qq.com/s/GLEa3fIc67uX9IK50LDeNw 全文摘要本文介绍了一种名为Qwen-Image的图像生成基础模型,它在复杂文本渲染和精确图像编辑方面取得了显著进展。为了解决复杂文本渲染的挑战,作者设计了一…