Thread: Is there an upper limit on the size of an array if it is indexed?
I have created a unique index on an array of integers, and it works for a small test case: create table i(id int not null primary key, v int[] not null unique ); insert into i(id, v) values(1, ARRAY[1,2]); -- fails insert into i(id, v) values(2, ARRAY[1,2]); -- succeeds insert into i(id, v) values(2, ARRAY[2,1]); Is there an upper limit on the size of an array being indexed? I am currently considering arrays of 2K-3K integers. -- View this message in context: http://postgresql.1045698.n5.nabble.com/Is-there-an-upper-limit-on-the-size-of-an-array-if-it-is-indexed-tp5793380.html Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
On 02/24/2014 01:30 PM, AlexK wrote: > I have created a unique index on an array of integers, and it works for a > small test case: > > create table i(id int not null primary key, > v int[] not null unique ); > > insert into i(id, v) values(1, ARRAY[1,2]); > > -- fails > insert into i(id, v) values(2, ARRAY[1,2]); > -- succeeds > insert into i(id, v) values(2, ARRAY[2,1]); > > Is there an upper limit on the size of an array being indexed? I am > currently considering arrays of 2K-3K integers. > > > What are the odds? Might be worth the risk. rjs
AlexK <alkuzo@gmail.com> writes: > I have created a unique index on an array of integers, and it works for a > small test case: > create table i(id int not null primary key, > v int[] not null unique ); > insert into i(id, v) values(1, ARRAY[1,2]); > -- fails > insert into i(id, v) values(2, ARRAY[1,2]); > -- succeeds > insert into i(id, v) values(2, ARRAY[2,1]); > Is there an upper limit on the size of an array being indexed? I am > currently considering arrays of 2K-3K integers. PG btrees have an item size limit of a couple of KB, so I don't think this is going to work well for you. Some people have gotten around that by using a unique index on a hash value. If you use something like MD5, the odds of a false collision are probably low enough to tolerate. regards, tom lane
Tom, is this limitation documented anywhere? -- View this message in context: http://postgresql.1045698.n5.nabble.com/Is-there-an-upper-limit-on-the-size-of-an-array-if-it-is-indexed-tp5793380p5793387.html Sent from the PostgreSQL - sql mailing list archive at Nabble.com.