On Wed, 12 Apr 2006, Andreas Kretschmer wrote:
> The following bug has been logged online:
>
> Bug reference: 2390
> Logged by: Andreas Kretschmer
> Email address: andreas.kretschmer@schollglas.com
> PostgreSQL version: 8.1.3
> Operating system: Debian Linux
> Description: check constraint
> Details:
>
> i want to add a check constraint like:
>
> create table foo (i char(7) CHECK (i ~ '^[0-9]{6,7}$'));
>
> i doesn't work, but if works, if i change the type for i to varchar(7).
Well, the regex doesn't entirely make sense for char(n) data. It's not
possible to have 6 characters between beginning and end because it's a
fixed length 7 character string. If you try to insert '000000' into i,
you're actually inserting '000000 ' which is invalid by the constraint.