From: | Michael Glaesemann <grzm(at)myrealbox(dot)com> |
---|---|
To: | KeithW(at)NarrowPathInc(dot)com |
Cc: | PostgreSQL Novice <pgsql-novice(at)postgresql(dot)org> |
Subject: | Re: Poor-man's enumeration type |
Date: | 2005-04-26 03:08:53 |
Message-ID: | beac9cea3a272b965cd0925b4f7f080d@myrealbox.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
On Apr 26, 2005, at 11:52, Keith Worthington wrote:
> The type "char" (note the quotes) is different
> from char(1)in that it only uses one byte of
> storage. It is internally used in the system
> catalogs as a poor-man's enumeration type.
>
> Is this a SQL standard data type?
No.
> Can I expect this type to be supported in PostgreSQL 'forever'?
I'm not in a position to say, but I do know that "It is internally used
in the system catalogs" and the system catalogs carry with them the
explicit warning that they may change--and have changed in the
past--between releases.
In general, enumeration can be handled by setting up a small table that
lists allowed values. e.g. (untested),
create table colors ( color text not null unique );
create table houses (
house_id serial not null unique
, house_color text not null
references colors (color) on update cascade on delete cascade
);
Hope this helps.
Michael Glaesemann
grzm myrealbox com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-04-26 05:06:51 | Re: Poor-man's enumeration type |
Previous Message | Bruce Momjian | 2005-04-26 02:57:57 | Re: Poor-man's enumeration type |