Domain check constraint not honored?

From: Eric Schwarzenbach <subscriber(at)blackbrook(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Domain check constraint not honored?
Date: 2015-10-29 17:41:13
Message-ID: 56325A39.5080103@blackbrook.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have created a custom type as a domain based on text, which adds a
check constraint using a regexp to limit it to containing digits and
'.'. However I am finding I can add values with other characters to a
column of this type. Is this to be expected for some reason?

Or alternately, did I define the constraint wrong somehow? It is defined
thus:

CREATE DOMAIN hierpath AS text
CHECK(
VALUE ~ '[0-9.]+'
);

Checking the docs I'm pretty sure the '.' doesn't need escaping but I
also tried a test leaving it out ( '[0-9]+') and the result is the same.
It lets me store letters in a column defined to be of this type.

The version() function tells me
"PostgreSQL 9.4.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu
4.8.2-19ubuntu1) 4.8.2, 64-bit"

Thanks,
Eric

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dane Foster 2015-10-29 17:47:55 mysql_fdw trouble
Previous Message David 2015-10-29 16:17:49 Re: Better way to process boolean query result in shell-like situations?