我想更改PostgreSQL 9.1.5中枚举类型中的项的名称.
以下是类型的create stmt:
CREATE TYPE import_action AS ENUM
('Ignored',
'Inserted',
'Updated',
'Task created');
我只想将"任务已创建"更改为"已中止".从documentation人看来,以下几点应该是有效的:
ALTER TYPE import_action
RENAME ATTRIBUTE "Task created" TO "Aborted";
然而,我得到了一条消息:
********** Error **********
ERROR: relation "import_action" does not exist
SQL state: 42P01
但是,它显然确实存在.
该类型当前被多个表使用.
我认为一定没有办法做到这一点.我在pgAdminIII中try 了该类型的对话框,但无法在那里重命名该类型.(所以,要么是强烈暗示我做不到,要么——我希望——创建该对话框的开发人员有一点疏忽.)
如果我不能一次完成这件事?那我该怎么办?我是否需要编写一个脚本来添加项目,将所有记录更新为新值,然后删除旧项目?这样行吗?
看起来这应该是件简单的事.据我所知,这些记录只是存储对类型和项目的引用.我认为它们实际上并没有存储我给它的文本值.但是,也许我也错了.