title: sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied
body: <p>i am trying to run this simple flask app  and I keep getting this error in the terminal when trying to run the flask app
  <code>FLASK_APP=app.py flask run</code>
  i keep getting this error : 
  <code>sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied</code></p>
  
  <p>here is my app:</p>
  
  <pre><code>from flask import Flask
  from flask_sqlalchemy import SQLAlchemy
  app = Flask(__name__)
  app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres@localhost:5432/testdb'
  db = SQLAlchemy(app)
  class Person(db.Model):
    __tablename__ = 'persons'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(), nullable=False)
  db.create_all()
  @app.route('/')
  def index():
      return 'Hello World!'
  </code></pre>
  
  <p>just to clarify i have psycopg2, flask-SQLAlchemy and all dependencies installed <strong>AND THERE IS NO PASSWORD FOR USER postgres by default</strong> and i haven't changed that and i can log in to database as postgres using psql <strong>without password</strong> without any problems.</p>
  
  <p>Full error output: </p>
  
  <pre><code>FLASK_APP=app.py flask run
   * Serving Flask app "app.py"
   * Environment: production
     WARNING: This is a development server. Do not use it in a production deployment.
     Use a production WSGI server instead.
   * Debug mode: off
  /usr/lib/python3/dist-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True to suppress this warning.
    warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True to suppress this warning.')
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1122, in _do_get
      return self._pool.get(wait, self._timeout)
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/queue.py", line 145, in get
      raise Empty
  sqlalchemy.util.queue.Empty
  During handling of the above exception, another exception occurred:
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2147, in _wrap_pool_connect
      return fn()
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 387, in connect
      return _ConnectionFairy._checkout(self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 766, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 516, in checkout
      rec = pool._do_get()
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1138, in _do_get
      self._dec_overflow()
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
      compat.reraise(exc_type, exc_value, exc_tb)
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise
      raise value
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1135, in _do_get
      return self._create_connection()
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 333, in _create_connection
      return _ConnectionRecord(self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 461, in __init__
      self.__connect(first_connect_check=True)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 651, in __connect
      connection = pool._invoke_creator(self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 105, in connect
      return dialect.connect(*cargs, **cparams)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 393, in connect
      return self.dbapi.connect(*cargs, **cparams)
    File "/home/aa/.local/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
      conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
  psycopg2.OperationalError: fe_sendauth: no password supplied
  The above exception was the direct cause of the following exception:
  Traceback (most recent call last):
    File "/home/aa/.local/bin/flask", line 11, in &lt;module&gt;
      sys.exit(main())
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 967, in main
      cli.main(args=sys.argv[1:], prog_name="python -m flask" if as_module else None)
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 586, in main
      return super(FlaskGroup, self).main(*args, **kwargs)
    File "/home/aa/.local/lib/python3.6/site-packages/click/core.py", line 782, in main
      rv = self.invoke(ctx)
    File "/home/aa/.local/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
    File "/home/aa/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
      return ctx.invoke(self.callback, **ctx.params)
    File "/home/aa/.local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
      return callback(*args, **kwargs)
    File "/home/aa/.local/lib/python3.6/site-packages/click/decorators.py", line 73, in new_func
      return ctx.invoke(f, obj, *args, **kwargs)
    File "/home/aa/.local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
      return callback(*args, **kwargs)
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 848, in run_command
      app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 305, in __init__
      self._load_unlocked()
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 330, in _load_unlocked
      self._app = rv = self.loader()
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 388, in load_app
      app = locate_app(self, import_name, name)
    File "/home/aa/.local/lib/python3.6/site-packages/flask/cli.py", line 240, in locate_app
      __import__(module_name)
    File "/home/aa/Desktop/Udacity - FullStackND 2020/FullStackND2020/Practice Projects/flask hello world app/app.py", line 18, in &lt;module&gt;
      db.create_all()
    File "/usr/lib/python3/dist-packages/flask_sqlalchemy/__init__.py", line 972, in create_all
      self._execute_for_all_tables(app, bind, 'create_all')
    File "/usr/lib/python3/dist-packages/flask_sqlalchemy/__init__.py", line 964, in _execute_for_all_tables
      op(bind=self.get_engine(app, bind), **extra)
    File "/usr/lib/python3/dist-packages/sqlalchemy/sql/schema.py", line 3934, in create_all
      tables=tables)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1928, in _run_visitor
      with self._optional_conn_ctx_manager(connection) as conn:
    File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
      return next(self.gen)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1921, in _optional_conn_ctx_manager
      with self.contextual_connect() as conn:
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2112, in contextual_connect
      self._wrap_pool_connect(self.pool.connect, None),
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2151, in _wrap_pool_connect
      e, dialect, self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1465, in _handle_dbapi_exception_noconnection
      exc_info
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
      reraise(type(exception), exception, tb=exc_tb, cause=cause)
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
      raise value.with_traceback(tb)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2147, in _wrap_pool_connect
      return fn()
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 387, in connect
      return _ConnectionFairy._checkout(self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 766, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 516, in checkout
      rec = pool._do_get()
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1138, in _do_get
      self._dec_overflow()
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
      compat.reraise(exc_type, exc_value, exc_tb)
    File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise
      raise value
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1135, in _do_get
      return self._create_connection()
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 333, in _create_connection
      return _ConnectionRecord(self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 461, in __init__
      self.__connect(first_connect_check=True)
    File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 651, in __connect
      connection = pool._invoke_creator(self)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 105, in connect
      return dialect.connect(*cargs, **cparams)
    File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 393, in connect
      return self.dbapi.connect(*cargs, **cparams)
    File "/home/aa/.local/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
      conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
  sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied
  
  </code></pre>