Redrock Postgres 文档
主页 切换暗/亮/自动模式 切换暗/亮/自动模式 切换暗/亮/自动模式 返回首页
编辑页面

55000 对象不在先决条件状态

错误: 表空间 “dbspace” 不为空

如果你正在删除一个表空间,碰到了这样的错误信息,说明表空间中有数据库对象存在。

mydb=# DROP TABLESPACE dbspace;
ERROR: tablespace "dbspace" is not empty

你可以检查系统表以查看表空间中有哪些对象:

SELECT n.nspname AS schema_name,
       c.relname AS object_name,
       CASE c.relkind
         WHEN 'r' THEN 'table'
         WHEN 'i' THEN 'index'
         WHEN 'u' THEN 'undo'
         WHEN 't' THEN 'TOAST table'
         WHEN 'm' THEN 'materialized view'
         WHEN 'f' THEN 'foreign table'
         WHEN 'p' THEN 'partitioned table'
         ELSE c.relkind::text
       END AS object_type
FROM pg_class c
  JOIN pg_namespace n ON n.oid = c.relnamespace
  JOIN pg_tablespace t ON c.reltablespace = t.oid
WHERE
  t.spcname = 'dbspace';

如果确实要删除表空间,则需要先删除表空间中的对象。

错误: 数据库 “template1” 当前不接受连接

您可能会遇到如下所示的错误消息。

FATAL: database "mydb" is not currently accepting connections

仅当不允许数据库接受连接时,才会出现此消息。这主要用于保护模板数据库(如:template1)免受意外修改,或用于临时性的数据库维护任务。要允许数据库 “mydb” 接受连接访问,请执行以下 SQL 命令:

ALTER DATABASE mydb ALLOW_CONNECTIONS true;