title: PG::Error: ERROR: function left(character varying, integer) does not exist
body: <p>I'm using PostgreSQL along with Rails 3.2. One of my db migrations has the following:</p>
  
  <pre><code>execute &lt;&lt;-SQL
    CREATE INDEX users_multi_idx
    ON users (lower(left(fname, 1)), fname)
    WHERE deleted_at IS NULL;
  SQL
  </code></pre>
  
  <p>While migrating on some dbs, we're getting the following error:</p>
  
  <pre><code>==  AddFnameIndexToUsers: migrating ===========================================
  -- execute("      CREATE INDEX users_multi_idx\n      ON users (lower(left(fname, 1)), fname)\n      WHERE deleted_at IS NULL;\n")
  rake aborted!
  An error has occurred, this and all later migrations canceled:
  
  PG::Error: ERROR:  function left(character varying, integer) does not exist
  LINE 2:       ON users (lower(left(fname, 1)), fname)
                                ^
  HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
  :       CREATE INDEX users_multi_idx
        ON users (lower(left(fname, 1)), fname)
        WHERE deleted_at IS NULL;
  </code></pre>
  
  <p>What's strange is this does not happen on all dbs, just some (staging). Any suggestions as to what's wrong with this index execution?</p>