Heroku错误:sqlalchemy.exc.OperationalError:(psycopg2.OperationalError)无法连接到服务器:连接被拒绝

时间:2020-04-19 19:05:59

标签: postgresql heroku sqlalchemy flask-sqlalchemy heroku-postgres

app.py:

from flask import Flask ,render_template,request,url_for,redirect
from flask_sqlalchemy import SQLAlchemy
import psycopg2
app=Flask(__name__)



app.debug=False
app.config['SQLALCHEMY_DATABASE_URI']='postgres://myherokupostgresdatabasepassword'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False
db=SQLAlchemy(app)
class Username(db.Model):
    __tablename__ = "username"
    id=db.Column(db.Integer,primary_key=True)
    username=db.Column(db.String(200),unique=True)
    def __init__(self,username):
        self.username=username
@app.route("/submit",methods=["POST"])
def submit():
    if request.method=="POST":
        usernamee=request.form["username"]
        usernamee=usernamee.replace(" ","")
        sayi=db.session.query(Username).filter(Username.username==usernamee).count()
        print("has been created-------------------->>",sayi,"times")
        if usernamee=="" or usernamee==" ":
            return "input is empty .please enter real username."
        if sayi>0:
            return "{} didnt created .because there is username like this alreay.".format(usernamee)
        register=Username(username=usernamee)
        db.session.add(register)
        db.session.commit()
        return render_template("submit.html",message="{} have been entered".format(usernamee))
    return render_template("submit.html")
@app.route("/",)
def index():
    all=db.session.query(Username).all()

    return render_template("register.html",usernames=all)

if __name__=="__main__":
    app.debug=True
    app.run()

错误:*

2020-04-19T18:51:16.120751 + 00:00 app [web.1]:文件 “ /app/.heroku/python/lib/python3.7/site-packages/psycopg2/init.py”, 连接中的127行2020-04-19T18:51:16.120751 + 00:00 app [web.1]:
conn = _connect(dsn,connection_factory = connection_factory,** kwasync) 2020-04-19T18:51:16.120752 + 00:00 app [web.1]: sqlalchemy.exc.OperationalError:(psycopg2.OperationalError)无法 连接到服务器:连接被拒绝2020-04-19T18:51:16.120752 + 00:00 app [web.1]:服务器是否在主机“ localhost”(127.0.0.1)上运行,并且 接受2020-04-19T18:51:16.120752 + 00:00 app [web.1]:TCP / IP 端口5432上是否有连接?

* 当我运行此命令时

>> from app import db
>> db.create_all()

它给我这个错误:

回溯(最近通话最近):文件 “ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, _wrap_pool_connect中的第2285行 返回fn()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 连接线363 返回_ConnectionFairy._checkout(self)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, _checkout中的773行 fairy = _ConnectionRecord.checkout(pool)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 492行,结帐 rec = pool._do_get()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/impl.py”, _do_get中的第139行 self._dec_overflow()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py”, 第69行,退出 exc_value,with_traceback = exc_tb,文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py”, 第178行,在raise_ 引发异常文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/impl.py”, _do_get中的第136行 返回self._create_connection()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, _create_connection中的第308行 返回_ConnectionRecord(self)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 第437行,在 init 自我。 connect(first_connect_check = True)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, __connect中的657行 pool.logger.debug(“ connect()上的错误:%s”,e)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py”, __exit 中的第69行 exc_value,with_traceback = exc_tb,文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py”, 第178行,在raise_ 引发异常文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 连接中的第652行 connection = pool._invoke_creator(self)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py”, 连接线114 return dialect.connect(* cargs,** cparams)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/default.py”, 490行,处于连接状态 返回self.dbapi.connect(* cargs,** cparams)文件“ /app/.heroku/python/lib/python3.7/site-packages/psycopg2/__init.py”, 连接中的第127行 conn = _connect(dsn,connection_factory = connection_factory,** kwasync)psycopg2.OperationalError:无法连接到服务器:连接被拒绝 服务器是否在主机“ localhost”(127.0.0.1)上运行并接受 端口5432上的TCP / IP连接?

上述异常是以下异常的直接原因:

回溯(最近一次通话最后一次):文件“”,第1行,在 文件 “ /app/.heroku/python/lib/python3.7/site-packages/flask_sqlalchemy/init.py”, 第1033行,位于create_all中 self._execute_for_all_tables(app,bind,'create_all')文件“ /app/.heroku/python/lib/python3.7/site-packages/flask_sqlalchemy/init.py”, 第1025行,在_execute_for_all_tables中 op(bind = self.get_engine(app,bind),** extra)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/sql/schema.py”, create_all中的第4321行 ddl.SchemaGenerator,自身,checkfirst = checkfirst,表=表文件 “ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, _run_visitor中的第2057行 使用self._optional_conn_ctx_manager(connection)作为conn:文件“ /app/.heroku/python/lib/python3.7/contextlib.py”,第112行,在 输入 返回next(self.gen)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, 第2049行,在_optional_conn_ctx_manager中 使用self._contextual_connect()作为conn:文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, _contextual_connect中的第2251行 self._wrap_pool_connect(self.pool.connect,无),文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, _wrap_pool_connect中的第2289行 e,方言,自身文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, 第1555行,在_handle_dbapi_exception_noconnection中 sqlalchemy_exception,with_traceback = exc_info [2],from_ = e文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py”, 第178行,在raise_ 引发异常文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py”, _wrap_pool_connect中的第2285行 返回fn()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 连接线363 返回_ConnectionFairy._checkout(self)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, _checkout中的773行 fairy = _ConnectionRecord.checkout(pool)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 492行,结帐 rec = pool._do_get()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/impl.py”, _do_get中的第139行 self._dec_overflow()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py”, 第69行,退出 exc_value,with_traceback = exc_tb,文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py”, 第178行,在raise_ 引发异常文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/impl.py”, _do_get中的第136行 返回self._create_connection()文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, _create_connection中的第308行 返回_ConnectionRecord(self)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 第437行,在 init 自我。 connect(first_connect_check = True)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, __connect中的657行 pool.logger.debug(“ connect()上的错误:%s”,e)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py”, __exit 中的第69行 exc_value,with_traceback = exc_tb,文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py”, 第178行,在raise_ 引发异常文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/pool/base.py”, 连接中的第652行 connection = pool._invoke_creator(self)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py”, 连接线114 return dialect.connect(* cargs,** cparams)文件“ /app/.heroku/python/lib/python3.7/site-packages/sqlalchemy/engine/default.py”, 490行,处于连接状态 返回self.dbapi.connect(* cargs,** cparams)文件“ /app/.heroku/python/lib/python3.7/site-packages/psycopg2/__init.py”, 连接中的第127行 conn = _connect(dsn,connection_factory = connection_factory,** kwasync)sqlalchemy.exc.OperationalError:(psycopg2.OperationalError)无法连接到服务器:Connection 被拒绝 服务器是否在主机“ localhost”(127.0.0.1)上运行并接受 端口5432上的TCP / IP连接?

(此错误的背景位于:http://sqlalche.me/e/e3q8

>

0 个答案:

没有答案