![](/img/trans.png)
[英]PythonAnywhere, Flask application, heroku postgres psycopg2.OperationalError: could not connect to server: Connection refused
[英]Flask-SQLAlchemy Postgres Error - could not connect to server: Connection refused (0x0000274D/10061)
这是我当前的初始化文件,我已经在我的 models.py 上创建了数据库 model,但我认为我对此没有任何问题。 每当我“db.create_all()”时,我都无法创建我的数据库表......它给了我错误,我在下面发布。
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'
# DATABASE CONFIGS ---------------------------------------------------------------------------
db = SQLAlchemy(app)
ENV = 'dev'
if ENV == 'dev':
app.debug = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:123456@localhost/flaskqna'
else:
app.debug = False
app.config['SQLALCHEMY_DATABASE_URI'] = ''
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
# DATABASE CONFIGS ---------------------------------------------------------------------------
from flaskqna import routes
错误
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
我被困在这个完全相同的问题上,对我有用的是明确使用端口 5433。
postgresql://postgres:123456@localhost:5433/flaskqna
在打开 SQL Shell (psql) 并输入5432作为第一个提示,然后输入我的数据库名称作为第二个提示后,我意识到了这一点。 在您的情况下,它将是flaskqna 。 5433端口出现在那里。
看起来您已经恢复到 sqlite,但试一试
'postgresql://postgres:123456@localhost/flaskqna'
用 Wi-Fi 设置(网络设置)中的机器 IP 地址替换 localhost
它将修复此错误。
我很感谢阿卜杜拉的回答,这使我找到了解决方案。
在对 postgresql 连接问题进行故障排除时,该消息很重要:
如果你得到“连接被拒绝”,这意味着你的服务器没有运行/你在错误的端口上尝试它或者你在 postgresgl.conf 中的 listen_addresses 设置不包括你连接的地址。
如果您的 postgresql 服务器正在侦听您尝试连接的地址/网络,但您的 pg_hba.conf 不允许您请求的访问/用户/数据库,那么您将收到不同的错误,引用 pg_hba.conf 中的不足。
我配置了我的地下室 postgresql 服务器,以便为在我楼上计算机上运行的 python 应用程序提供服务,因此它只监听其 LAN 地址。 然后在同一个linux盒子上找到了一个想安装的服务,在本地连接不上的时候很困惑。 尝试用 LAN IP 替换 localhost 的建议改变了消息(几乎总是一个好兆头,对吗?)并让我找到了解决方案。
希望我的冒险对其他人有所帮助。
pg_ctl -D "C:\Program Files\PostgreSQL\14\data" 开始
然后再次运行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.