| From: | John Sidney-Woollett <johnsw(at)wardbrook(dot)com> | 
|---|---|
| To: | Dennis Gearon <gearond(at)fireserve(dot)net> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: langauges, locales, regex, LIKE | 
| Date: | 2004-06-24 16:29:10 | 
| Message-ID: | 40DB0156.4020301@wardbrook.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Dennis Gearon wrote:
> John Sidney-Woollett wrote:
>
>> For what it's worth, we have a unicode 7.4.1 database which gives us 
>> the sorting and searching behaviour that we expect (with the 
>> exception of the upper and lower functions). We access the data via 
>> jdbc so we don't have to deal with encoding issues per se as the 
>> driver does any translation for us.
>>
>> Currently we don't use any LIKE statements, but if we did, and wanted 
>> them optimized then we'd use the appropriate OP Class when defining 
>> the index. We also don't use any REGEX expressions. And we'll shortly 
>> be experimenting with tsearch2...
>>
>>         List of databases
>>     Name      |  Owner   | Encoding
>> ---------------+----------+----------
>> test          | postgres | UNICODE
>>
>> Setting the psql client encoding to Latin1 and inserting the 
>> following data...
>>
>> # select * from johntest;
>> id | value
>> ----+-------
>>  1 | test
>>  2 | tést
>>  3 | tèst
>>  4 | taste
>>  5 | TEST
>>  6 | TÉST
>>  7 | TÈST
>>  8 | TASTE
>> (8 rows)
>>
>> [snip]
>>
>> using a LIKE operation also works as expected (again no index on 
>> value field)
>>
>> # select * from johntest where value like 't%';
>> id | value
>> ----+-------
>>  1 | test
>>  2 | tést
>>  3 | tèst
>>  4 | taste
>> (4 rows)
>>
> Like works, but it can't use an index, and so would have horibble 
> performance vs. the situation where it CAN use an index. I believe 
> this is how Postgres is working now.
If you use one of the OPCLASSes then LIKE operations using indexes 
should work, I believe.
See http://www.postgresql.org/docs/7.4/static/indexes-opclass.html
John Sidney-Woollett
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Luis Agostinho | 2004-06-24 17:23:25 | Endless For Loop in an insert trigger | 
| Previous Message | Dennis Gearon | 2004-06-24 16:23:05 | Re: langauges, locales, regex, LIKE |