gpt4 book ai didi

database - PostgreSQL 错误 : process still waiting for AccessShareLock on relation 2676 of database 0

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:46 28 4
gpt4 key购买 nike

我们无法连接到 PostgreSQL 实例,我们必须重新启动 PostgreSQL 服务才能连接到该实例,但几天后我们开始遇到同样的错误。

日志显示以下错误

2019-02-18 08:00:03.043 UTC [5053] postgres@utilitydbLOG:  process 5053 still waiting for AccessShareLock on relation 2676 of database 0 after 1000.431 ms
2019-02-18 08:04:04.486 UTC [5170] bucardo@bucardoLOG: process 5170 still waiting for AccessShareLock on relation 2676 of database 0 after 1001.006 ms
2019-02-18 08:15:02.802 UTC [5445] postgres@utilitydbLOG: process 5445 still waiting for AccessShareLock on relation 2676 of database 0 after 1000.425 ms
2019-02-18 08:30:02.844 UTC [5846] postgres@utilitydbLOG: process 5846 still waiting for AccessShareLock on relation 2676 of database 0 after 1000.501 ms
2019-02-18 08:33:23.428 UTC [5940] bucardo@bucardoLOG: process 5940 still waiting for AccessShareLock on relation 2676 of database 0 after 1001.265 ms
2019-02-18 08:45:02.869 UTC [6269] postgres@utilitydbLOG: process 6269 still waiting for AccessShareLock on relation 2676 of database 0 after 1000.340 ms
2019-02-18 08:51:08.230 UTC [6478] dbuser@postgresLOG: process 6478 still waiting for AccessShareLock on relation 2676 of database 0 after 1000.438 ms

当我检查服务状态时,它会显示以下详细信息

postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting
postgres: postgres utilitydb [local] startup waiting

我知道我需要检查数据库中的锁,但日志中提供的信息不是很详细。 PostgreSQL 系统表中不存在oid = 0 的数据库。

我该如何调试这个问题?

如有任何帮助,我们将不胜感激。

最佳答案

有东西在 pg_authid_rolname_index 索引上持有 ACCESS EXCLUSIVE 锁。

持有此锁时,任何人都不能使用该索引,并且由于这是您需要搜索某个用户名的用户(pg_authid)表上的索引,因此无法登录成功.

您已成为“拒绝服务”攻击的牺牲品。

如果有一个事件的数据库 session 持有锁,则终止它。

如果即使您重新启动数据库,锁仍然存在,则它一定是准备好的事务。关闭数据库并清除数据目录的 pg_twophase 子目录。

更好地保护您的数据库并更改所有 super 用户密码。

关于database - PostgreSQL 错误 : process still waiting for AccessShareLock on relation 2676 of database 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54779611/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com