Restricting the value of columns in PostgreSQL

ENUM
--Enum type
 --case sensitive
 --4 Bytes on disk
 CREATE TYPE vaildcolor AS ENUM ('Blue','Pink');

REGEXP

--Case insensitivie regexp
 --accepts NULL
 --useful for complex/long text matching
 ALTER TABLE color ADD CONSTRAINT
 vaild_color CHECK(
 color ~*
 '^(blue|pink)$'
 );

CHECK

 --Case sensitivie =
 --accepts NULL
 ALTER TABLE color ADD CONSTRAINT
 vaild_color CHECK(
 color = 'Blue' OR color = 'Pink'
 );
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s