Re: syntax error with alter type - Mailing list pgsql-general

From Adrian Klaver
Subject Re: syntax error with alter type
Date
Msg-id 60cd0448-2940-d9ac-3b52-3be8563f7b88@aklaver.com
Whole thread Raw
In response to syntax error with alter type  (Kevin Brannen <KBrannen@efji.com>)
Responses RE: syntax error with alter type  (Kevin Brannen <KBrannen@efji.com>)
List pgsql-general
On 12/7/18 3:17 PM, Kevin Brannen wrote:
> I’m running Pg 9.6.5 if it matters…
> 
> I’m trying to drop a value from an ENUM (type) and it seems like I’m 
> following the fine manual yet I still get an error. For example:
> 
> nms=# create type alphabet as enum ('a', 'b', 'c', 'd');
> 
> CREATE TYPE
> 
> nms=# alter type alphabet drop attribute if exists 'c';
> 
> ERROR:  42601: syntax error at or near "'c'"
> 
> LINE 1: alter type alphabet drop attribute if exists 'c';
> 
>                                                       ^
> 
> LOCATION:  scanner_yyerror, scan.l:1086
> 
> What am I doing wrong? The goal is to get rid of the ‘c’ value from the 
> enum. Yes, you can assume I’ve already removed of all the ‘c’ values in 
> the table where it’s used.

https://www.postgresql.org/docs/10/datatype-enum.html

"Although enum types are primarily intended for static sets of values, 
there is support for adding new values to an existing enum type, and for 
renaming values (see ALTER TYPE). Existing values cannot be removed from 
an enum type, nor can the sort ordering of such values be changed, short 
of dropping and re-creating the enum type.


> 
> Or does that statement not do what I think it does and I have to do the 
> “create new type, change the table to use the new type, drop old type, 
> rename new type to old type” routine?
> 
> Thanks,
> 
> Kevin
> 
> This e-mail transmission, and any documents, files or previous e-mail 
> messages attached to it, may contain confidential information. If you 
> are not the intended recipient, or a person responsible for delivering 
> it to the intended recipient, you are hereby notified that any 
> disclosure, distribution, review, copy or use of any of the information 
> contained in or attached to this message is STRICTLY PROHIBITED. If you 
> have received this transmission in error, please immediately notify us 
> by reply e-mail, and destroy the original transmission and its 
> attachments without reading them or saving them to disk. Thank you.


-- 
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Kevin Brannen
Date:
Subject: syntax error with alter type
Next
From: Kevin Brannen
Date:
Subject: RE: syntax error with alter type