On Jun 29, 2013, at 11:24 AM, bhanu udaya <udayabhanu1984@xxxxxxxxxxx> wrote: Upper and Lower functions are not right choice when the table is > 2.5 million and where we also have heavy insert transactions. PostgreSQL and SQL Server are completely different. Rules that apply to SQL Server do not necessarily apply to PostgreSQL. You problem is not the use of upper() or lower() it is the assumption what works in SQL Server is the best way to use PostgreSQL. You'll get farther if you benchmark several of the suggestions, then if the performance is not good enough, ask how to improve the performance. This will take a little work on your part, but that is how you learn. Neil |