我有时会看到这样的信息

进程12990在数据库17607的关系17720的元组(889,66)上等待排他锁;被进程12992阻止.

当然"过程"部分很清楚,但我不知道如何将关系ID和人类可读的名称关联起来.我也不知道如何理解元组位.

有人知道如何阅读这些信息,以及如何从中收集有用的数据吗?

谢谢

推荐答案

你可以在系统表中查找:这里感兴趣的是pg_class.

做这样的查询

SELECT OID, relname FROM pg_class
 oid  |              relname               
-------+------------------------------------
  1247 | pg_type
 11550 | user_mapping_options
 11554 | user_mappings
 11494 | triggered_update_columns
 11497 | triggers

或者更确切地说

SELECT relname FROM pg_class WHERE OID=17720

也许能帮你找到锁.

Postgresql相关问答推荐

利用PostgreSQL查询中表的顺序来计算包含每次时间的时间范围

ANTLR4 PostgreSQL语法被 destruct 了吗?

为什么我的应用程序接收的是空值而不是布尔值?

安装age-installation时出错

合并两个字典并创建一个包含更新凭据的字典列表

PostgreSQL:如何从另一列的 json 值替换为一列?

如何在不同的行中显示两列,避免重复并省略空条目

错误:分区表的唯一约束必须包括所有分区列

Django + Postgres + 大时间序列

安装 pg gem 失败,mkmf.rb 找不到 ruby​​ 的头文件(Mac OSX 10.6.5)

PostgreSQL 可以对数组元素有唯一性约束吗?

从局域网访问 PostgreSQL 服务器

如何判断每个组中是否存在值

SQL Select 一列中具有重复值的所有行

与 Oracle 的 CONNECT BY ... START WITH 等效的 PostgreSQL 语法是什么?

仅在存在时重命名列

PostgreSQL 条件 where 子句

如何将表的一列复制到PostgreSQL中比较相同ID的另一表的列

如何为 postgres 编写 DELETE CASCADE?

python postgres 我可以 fetchall() 100 万行吗?