As declan said, this is caused by the fact that postgres is case sensitive when using LIKE. The problem with using ILIKE is that it won't work in sqlite anymore.
A kind of hack which works is to change the search condition to:
find(:all, :conditions => ['UPPER(name) LIKE ?', "%#{search.upcase}%"])