繁体   English   中英

Flask-SQLAlchemy Postgres 错误 - 无法连接到服务器:连接被拒绝 (0x0000274D/10061)

[英]Flask-SQLAlchemy Postgres Error - could not connect to server: Connection refused (0x0000274D/10061)

这是我当前的初始化文件,我已经在我的 models.py 上创建了数据库 model,但我认为我对此没有任何问题。 每当我“db.create_all()”时,我都无法创建我的数据库表......它给了我错误,我在下面发布。

  • 我已经安装了 psycopg2。
  • 我尝试在我的 database_uri 链接上添加“localhost:5432”,但这也不起作用。
  • 我进入我的 postgres 配置文件并将“listen_addresses”从“*”更改为“::1, 127.0.0.1”
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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM