On Mon, 2005-07-18 at 15:17, Dan Armbrust wrote: > We have built a Model for terminologies that we call The Lexical Grid > (more info http://informatics.mayo.edu/LexGrid/index.php) > > LexGrid has multiple backend data storage mechanisms, including LDAP > and SQL. We do our best to remain implementation independent - our > SQL implementations, for example can run against MS Access, DB2, MySQL > and PostgreSQL. > > I'm currently trying to load a new terminology into a PosgreSQL > backend, and arrived at this error because it happens to have a couple > of very large data values that get mapped into the 'propertyvalue' > field. Well, if you're trying to maintain compatibility to multiple backends, then requiring a non-standard block size is going to be a big non-starter for most folks running postgresql. Very few, if any users, are going to be willing to install a version of postgresql setup that way just because of one program's needs. Does this need to be a unique index for any reason? If so, then an md5(propertyvalue) would give you that. If not, then you could make a partial index like so: create index yada_dx on yada (propertyvalue) where length(propertybalue)<100; But that would require you to add "where length(propertyvalue)<100" onto your queries to use the index, I believe. OTOH, this may be the time to use a hash index. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend