title: operator does not exist: jsonb ~~* unknown error
body: <p>I am trying to run this line of code. It is making a sqlalchemy query that is case insensitive for the data.
  <code>precedent_query = and_(Db_obj.data.ilike(f"{{'collections': [{{'idType': {id_type}, 'externalId': {external_id}}}]}}"))</code></p>
  
  <p>The docs in sqlalchemy I looked at didn't help me understand what the <code>jsonb ~~* unknown</code> part of the error means, is it that it doesnt know what jsonb is?  I have that imported.  Or is it the ~~* that is unknown?  </p>
  
  <p>Any help or better solutions to a case insensitive version of this(<code>precedent_query = and_(Db_obj.data.contains({'collections': [{'idType': id_type, 'externalId': external_id}]}))</code>) would be greatly appreciated </p>
  
  <p>My error is </p>
  
  <pre><code>Traceback (most recent call last):
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2463, in __call__
      return self.wsgi_app(environ, start_response)
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2449, in wsgi_app
      response = self.handle_exception(e)
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1866, in handle_exception
      reraise(exc_type, exc_value, tb)
    File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
      raise value
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
      response = self.full_dispatch_request()
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
      rv = self.handle_user_exception(e)
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
      reraise(exc_type, exc_value, tb)
    File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
      raise value
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
      rv = self.dispatch_request()
    File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
      return self.view_functions[rule.endpoint](**req.view_args)
    File "/web/answers/api/answers/views.py", line 107, in answers
      error_message, error_code, response_payload = paginate_response(filters, data, ObjectGroup)
    File "/web/answers/api/helpers.py", line 108, in paginate_response
      count = data.count()
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3578, in count
      return self.from_self(col).scalar()
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3322, in scalar
      ret = self.one()
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3292, in one
      ret = self.one_or_none()
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3261, in one_or_none
      ret = list(self)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3334, in __iter__
      return self._execute_and_instances(context)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3359, in _execute_and_instances
      result = conn.execute(querycontext.statement, self._params)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 988, in execute
      return meth(self, multiparams, params)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection
      return connection._execute_clauseelement(self, multiparams, params)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1107, in _execute_clauseelement
      distilled_params,
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1253, in _execute_context
      e, statement, parameters, cursor, context
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1473, in _handle_dbapi_exception
      util.raise_from_cause(sqlalchemy_exception, exc_info)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause
      reraise(type(exception), exception, tb=exc_tb, cause=cause)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 152, in reraise
      raise value.with_traceback(tb)
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1249, in _execute_context
      cursor, statement, parameters, context
    File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
      cursor.execute(statement, parameters)
  sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedFunction) operator does not exist: jsonb ~~* unknown
  LINE 4: ..."idType": "Foo"}]}' OR db_obj.db_obj.data ILIKE '{''...
                                                               ^
  HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts. ```
  
  
  </code></pre>