From: | vdg <vdg(dot)encelade(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Add a check an a array column |
Date: | 2012-09-09 11:12:33 |
Message-ID: | 4125633.DgHRScKsx9@vdg-dev |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thanks for your help.
Before posting, I had tried something like
check ((ALL(i) >= 0) AND (ALL(i) <= 1024 )));
but i got syntax errors.
It seems the first ALL() was not recognized.
Could someone give me documentation hints on this behaviour ?
vdg
On Saturday, 08 September 2012 13:18:25 Bret Stern wrote:
> On Sat, 2012-09-08 at 21:24 +0200, Andreas Kretschmer wrote:
> > Joel Hoffman <joel(dot)hoffman(at)gmail(dot)com> wrote:
> > > More concisely, you can compare directly against all values of the
> > > array:
> > >
> > > # create table i (i int[] check (0 <= ALL(i) AND 1023 >= ALL(i)));
> > > # insert into i values (ARRAY[0,1,2,3,1023]);
> > > # insert into i values (ARRAY[0,1,2,3,-1]);
> > > ERROR: new row for relation "i" violates check constraint "i_i_check"
> >
> > Nice! Didn't know that with all()
>
> A better place for validation is in the front-end, before
> adding/attempting to add data to the db (my opinion).
> Nice to see there are always other ways though.
>
> > Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Kellerer | 2012-09-09 11:36:24 | Re: Add a check an a array column |
Previous Message | Tomas Vondra | 2012-09-09 09:43:37 | Re: Index creation takes more time? |