我想在 PostgreSQL 9.1.5 中更改枚举类型中项目的名称。
这是该类型的创建 stmt:
CREATE TYPE import_action AS ENUM
('Ignored',
'Inserted',
'Updated',
'Task created');
我只想将“创建的任务”更改为“已中止”。从文档看来,以下内容应该有效:
ALTER TYPE import_action
RENAME ATTRIBUTE "Task created" TO "Aborted";
但是,我收到一条消息:
********** Error **********
ERROR: relation "import_action" does not exist
SQL state: 42P01
但是,它显然确实存在。
该类型当前被多个表使用。
我正在认为一定没有办法做到这一点。我已经尝试了 pgAdminIII 中类型的对话框,但是我看不到在那里重命名它。(所以,要么强烈暗示我做不到,要么 - 我希望 - 一个小的疏忽是创建该对话框的开发人员)
如果我不能在一个声明中做到这一点?那我需要做什么?我是否必须编写脚本来添加项目,将所有记录更新为新值,然后删除旧项目?这甚至会起作用吗?
看起来这应该是一件简单的事情。据我了解,记录只是存储对类型和项目的引用。我认为它们实际上并没有存储我给它的文本值。但是,也许我在这里也错了。