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
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs