title: create_engine using ssl problem sqlalchemy
body: <p>I'm trying to use sqlaclhemy to create an engine using <code>create_engin()</code> method. Before the ssl I was using the command:</p>
  
  <pre><code>conn_string = r'postgresql://root:my_pass@hostname/db_name'
  self.engine = create_engine(conn_string)
  </code></pre>
  
  <p>But after starting to use ssl this stopped working. I tried looking for similar problems and found <a href="https://stackoverflow.com/questions/25095591/how-do-i-connect-to-postgresql-using-ssl-from-sqlachemypg8000">How do I connect to Postgresql using SSL from SqlAchemy+pg8000?</a></p>
  
  <p>But when I try to use the answer     <code>self.engine = create_engine(conn_string, connect_args={'sslmode': 'require'})</code> I get an error </p>
  
  <p><em>password authentication failed for user "root"</em> </p>
  
  <p>Even though my password is correct. I was able to connect using <em>psychopg2</em> api as follows:</p>
  
  <pre><code>conn = psycopg2.connect(dbname='postgres', user='root', password=my_pass,
                       host=host_name, port='5432', sslmode='require')
  </code></pre>
  
  <p>This works for me, but it is not good because I have my own api that uses sqlalchemy engine and I don't want to break it. 
  I have tried to find a way to maybe create an engine using the conn created above, but the only thing I could find is <a href="https://stackoverflow.com/questions/35089043/create-a-sqlalchemy-engine-using-an-existing-psycopg2-connection-pool">Create a sqlalchemy engine using an existing psycopg2 connection pool</a>, and I don't need a thread pool, nor does the psycopg2 has a .pool method anyways</p>
  
  <p>How is it possible that the psycopg2 succeed where the sqlalchemy fails? </p>