pg数据库即是PostgreSQL数据库。

前几天在一个Java项目中,出现运行Java程序后,pg数据库的数据表异常挂起。而且是在某台电脑上出现的,重装数据库也没用,其它电脑未能复现,是个很奇怪的现象。

异常挂起的主要表现是:

1、使用pgAdmin选中相应的表,会导致pgAdmin未响应,并且很长时间都无法恢复。

2、使用pgAdmin直接sql命令增删查改都无法执行,执行所花时间从几十毫秒一直增长到几分钟,预计会一直增长下去。

3、只有重启PostgreSQL服务才能让出现异常的数据表恢复正常,恢复到既能选中,又能通过sql语句增删改查。

最终经过排查,确定出是因为Java中使用truncate命令对数据表进行清表操作导致了数据表异常挂起,之后把truncate命令换成了delete命令则一切正常。

在排查过程中,在pgAdmin中使用truncate命令直接清理会出现异常的表,也能复现前面的问题,而delete正常使用。

下面附上truncate、delete以及drop的区别:drop、truncate和delete的区别

至于这个特例情况下,truncate为什么会导致数据表挂起,我一直没想明白,希望有知道的人可以帮忙指点迷津。

pg数据库数据表异常挂起的更多相关文章

  1. PHP创建数据库数据表

    PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...

  2. SQL语句(一)SQL和数据库数据表的创建

    SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...

  3. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

  4. SQL Sever实验一 创建和删除数据库数据表

    一. 实验目的 1. 熟悉SQL    Server    2008    中SQL    Server    Management    Studio的环境 2. 了解SQL    Server   ...

  5. opencart 3.0 版本数据库数据表字典(详细篇)

    1.下文是opencart3.0版本数据库数据表字典,表字段与功能的介绍都比较详细.             数据表 address :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...

  6. python操作数据库-数据表

    数据表: 数据类型: 帮助的三种形式: 在cmd中输入: help 要帮助的主题词,或 ? 要帮助的主题词 或  \h 要帮助的主题词 . 数据表的创建: CREATE database IF NOT ...

  7. Django数据库数据表操作

    建立表单 django通过设置类来快速建表,打开models.py 例: from __future__ import unicode_literals from django.db import m ...

  8. MySQL基础知识 数据库 数据表

    1.数据库结构 库 表 数据 2. sql(structured query language)结构化查询语言 管理数据库 管理表 管理数据 3.数据库 增删改查 增 create database  ...

  9. MySQL数据库 | 数据表-查询命令详细记录

    本篇专门记录数据库增删改查中最常用.花招最多的 查. [文章结构] 一.数据的准备 二.基本的查询功能 三.条件查询 四.查询排序 五.聚合函数 六.分组查询 七.分页查询 八.连接查询 九.子查询 ...

随机推荐

  1. vos忙时闲时费率不一样怎么设置

    问题: 现有一客户要求上午闲时由原来的9:00追加到9:30 即: 9:30——12:00为忙时 14:00——18:00为忙时 其他为闲时 忙时费率为0.04元即4分 闲时费率为0.025元即2分5 ...

  2. java核心-流基础

    1.流的概念: 1.1输入流:向内存中写入数据 1.2输出流:有内存向指定的地方输出数据 2.

  3. Java中调用MatLab返回值

    当在Java中使用MatLab函数时,由于语言语法的不同,Matlab返回多个数据时,想在Java中获取到并进行使用.查阅了网上资料,翻箱倒柜加上自己实战,得出方法如下: 如MatLab函数返回的是N ...

  4. 【CCPC-Wannafly Winter Camp Day4 (Div1) F】小小马(分类讨论)

    点此看题面 大致题意: 给你一张\(n*m\)的棋盘,问你一匹马在两个点中是否存在一条经过黑白格子数目相等的路径. 简化题目 首先,我们来简化一下题目. 考虑到马每次走的时候,所经过的格子的颜色必然发 ...

  5. Java 执行系统命令工具类(commons-exec)

    依赖jar <!-- 可以在JVM中可靠地执行外部进程的库. --> <dependency> <groupId>org.apache.commons</gr ...

  6. Token的概念

    转载自:https://ninghao.net/blog/2834 最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twitter,Google+, ...

  7. maven简单了解,没有Maven和使用Maven的区别

    Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期.Maven让开发人员的工作更轻松,同时创建报表,检查,构建和 ...

  8. 5.Spring Cloud初相识-------Hystrix熔断器

    前言: 1.介绍Hystrix 在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时.异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,这个就是Hystrix需要做的事情.Hy ...

  9. react中实现原生enter/回车事件及antdesign组件实现方式

    先直接上核心代码: this.goToHomePage换成自己逻辑 自己写的时候直接把this.goToHmoPage()换成自己的逻辑就行了,还有注意一点的是: 需要传个空函数,不然会报错 在com ...

  10. P2661 信息传递 DFS

    题目链接:洛谷 P2661 信息传递 一个人要想知道自己的生日,就意味着信息的传递是成环的,因为每轮信息只能传递一个人,传递的轮数就等于环的大小 环的大小就等于环中的两个点到第三个点的距离之和加一,我 ...