The following bug has been logged on the website:
Bug reference: 6629
Logged by: Tom Forbes
Email address: tom@tomforb.es
PostgreSQL version: 9.1.3
Operating system: Windows 7 64bit
Description:=20=20=20=20=20=20=20=20
On a test database with 10,000 rows, each containing a array of 50 unique
random integers from 0 to 1000 creating a gist index on the column with
gist__int_ops as an option fails with the following error:
"too many LWLocks taken".
My application is not leaking locks: running this through pgadmin results in
the same error. Creating the index without gist__int_ops or with
gist__intbig_ops succeeds however. Creating the index on the same number of
rows with only 25 elements succeeds.
The documentation (http://www.postgresql.org/docs/9.1/static/intarray.html)
states that using gist__intbig_ops is "more suitable for indexing large
numbers of distinct array values" not that gist__int_ops cannot handle large
numbers of distinct values.
I have extracted out some code from the project I was working on that
reproduces the problem on my machine. You can find it here:
http://nopaste.snit.ch/138083