未找到 Postgresql 事务 ID

问题描述 投票:0回答:9

每当我在 postgresql 中执行查询时,这就是我收到的错误消息

在会话中找不到交易 ID。

有人知道如何解决这个问题吗?我最近创建了一个新用户,但我找不到甚至将其显示为有效错误的文档。

其他详细信息: 我已通过使用管理员凭据重新连接来解决该错误。

我将 PG Admin V4 与 Postgres V9.6 一起使用,这是我执行的任何查询中出现的唯一消息,即使它是像“SELECT NOW()”这样的基本查询。

同时,这是客户端设备(具有 AWS Lambda / NodeJS 后端的 iOS 设备)收到的错误消息:

'message' : {
  'name' : 'error',
  'length' : 114,
  'severity' : 'fatal',
  'code' : '28000',
  'file' : 'miscinit.c',
  'line' : '587',
  'routine' : 'InitializeSessionUserId'
}
postgresql pgadmin pgadmin-4
9个回答
30
投票

我假设您找到了解决方案,但对于找到这篇文章的其他人来说,我也遇到了同样的问题,我刚刚关闭了 PG Admin 4 并重新启动它,它就消失了。


21
投票

对我来说,帮助将连接设置中的“localhost”更改为“127.0.0.1”,如下所述:https://stackoverflow.com/a/59747781/2590805


20
投票

对于遇到此问题的任何人,您所要做的就是:

1) Reconnect to the database

2) Open a new Query Tab. (Run your query here)

不客气。


2
投票

断开并重新连接数据库为我解决了这个问题;没有必要完全退出/打开 PGAdmin 4。


2
投票

创建一个新的查询编辑器选项卡,这对我有用


1
投票

这不是 PostgreSQL 错误消息。它必须来自您正在使用的堆栈中的其他内容 - 客户端驱动程序、ORM 等。

请发布更详细的问题,并提供有关您正在使用的堆栈的完整信息。


0
投票

所以我不知道我的解决方案的具体细节,但我在以下情况下发现了这个问题:

  • 数据库用户已创建。
  • 已为用户分配角色。
  • 使用了交易

我仍然不完全确定我找到了根本问题的解决方案,但如果其他人有相同的情况,它可能有助于进一步解决问题。如果这三个中的任何一个没有使用,那么我就从来没有遇到过这个问题。


0
投票

有人找到这个问题的解释吗?我还收到“在会话中未找到交易 ID”。它适用于长时间运行(几天)的查询。我在 10% 的数据样本上运行它,没有遇到任何问题,但现在需要对完整数据集重复该过程。我重新连接到数据库,查询显示仍然处于活动状态。新的空闲查询如下所示:

SELECT rel.oid, rel.relname AS name,
    (SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid AND tgisinternal = FALSE) AS triggercount,
    (SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid AND tgisinternal = FALSE AND tgenabled = 'O') AS has_enable_triggers,
    (CASE WHEN rel.relkind = 'p' THEN true ELSE false END) AS is_partitioned
FROM pg_class rel
    WHERE rel.relkind IN ('r','s','t','p') AND rel.relnamespace = 2200::oid
    AND NOT rel.relispartition
        ORDER BY rel.relname;

0
投票

我遇到了同样的问题:在每个 SQL 顺利运行之前几秒钟,然后遇到相同的结果“在会话中找不到事务 ID”。 正如之前多次描述的,重新启动 pgadmin 解决了问题。

我使用pgadmin 6.2,属于该线程,这似乎是一个持续存在的问题。也许有人知道原因?

© www.soinside.com 2019 - 2024. All rights reserved.