Re: Array issue.... - Mailing list pgsql-bugs

From Tatsuhito Kasahara
Subject Re: Array issue....
Date
Msg-id 4D59265C.9050505@oss.ntt.co.jp
Whole thread Raw
In response to Array issue....  (dba <dbadbb@gmail.com>)
List pgsql-bugs
dba wrote:
>
> I wanted to create index 0f 3 numeric array. But it is allowing to insert
> more than 4 elements
>
> CREATE TABLE abs(no int[3]);
> CREATE TABLE
>
> zivah=# INSERT INTO abs VALUES('{1,3,34,343,4342342,342}');
> INSERT 0 1
>
> I need a solution to store an elements exactly 3. More than 3 should not be
> allowed.
If you treat simple arrays, you may use "CHECK" as following example...

=# CREATE TABLE abs(no int[3], CHECK (array_upper(no, 1) < 3));
CREATE TABLE
=# INSERT INTO abs VALUES ('{1,2}');
INSERT 0 1
=# INSERT INTO abs VALUES ('{1,2,3}');
ERROR:  23514: new row for relation "abs" violates check constraint "abs_no_check"
LOCATION:  ExecConstraints, execMain.c:2049

--
NTT OSS Center
Tatsuhito Kasahara

pgsql-bugs by date:

Previous
From: Chetan Suttraway
Date:
Subject: Re: Array issue....
Next
From: "yashar ebrahimpoor"
Date:
Subject: BUG #5884: i cant select entire array values