docs: def _set_index(self, schema, name, fields, **index_options):
          """
          NOTE -- we set the index name using <table_name>_<name> format since indexes have to have
          a globally unique name in postgres
  
          http://www.postgresql.org/docs/9.1/static/sql-createindex.html
          """
          index_fields = []
          for field_name in fields:
              field = schema.fields[field_name]
              if issubclass(field.type, basestring):
                  if field.options.get('ignore_case', False):
                      field_name = 'UPPER({})'.format(self._normalize_name(field_name))
              index_fields.append(field_name)
  
          query_str = 'CREATE {}INDEX {} ON {} USING BTREE ({})'.format(
              'UNIQUE ' if index_options.get('unique', False) else '',
              self._normalize_name("{}_{}".format(schema, name)),
              self._normalize_table_name(schema),
              ', '.join(index_fields)
          )
  
          return self.query(query_str, ignore_result=True, **index_options)