DBAtlas · 数据库运维图谱

55006: object_in_use

PostgreSQL

含义

由于目标对象(通常是数据库)正被其他会话使用,无法对其执行操作。例如,无法删除有活动连接的数据库。

原因

执行 DROP DATABASE 时数据库仍有打开的连接;需要对正在使用的对象加排他锁的操作;另一会话正持有该对象。

解决方法

找到并终止到目标数据库的打开连接:SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'db_name' AND pid <> pg_backend_pid(); 阻止新连接(必要时)。在 PostgreSQL 13+ 上,可在强制关闭连接的同时删除:DROP DATABASE db_name WITH (FORCE);

在 DBAtlas 中打开 →

同一数据库的其他条目