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



这是我当前的init文件,我已经在models.py上创建了数据库模型,但我认为我对此没有任何问题。我只是不能在任何时候创建我的数据库表;db.create_all(("。。它给了我错误,我发布在下面。

  • 我安装了psycopg2
  • 我试着添加";localhost:5432";在我的databaseuri链接上,但这也不起作用
  • 我进入我的postgres配置文件;listen_addresss"从"*"至":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'

将localhost替换为Wi-Fi设置(网络设置(中的机器IP地址

它将修复此错误。

我很感谢Abdullah的回答,这让我找到了解决方案。

在排除postgresql连接问题时,消息很重要:

如果你得到";连接被拒绝;这意味着你的服务器没有运行/你在错误的端口上尝试它或者postgresgl.conf中的listen_addresss设置不包括你连接的地址。

如果你的postgresql服务器正在监听你试图连接的地址/网络,但你请求的访问/用户/数据库不被你的pg_hba.conf允许,那么你会得到一个不同的错误,理由是缺少pg_hbaconf。

我配置了地下室的postgresql服务器,以便为楼上计算机上运行的python应用程序提供服务,所以它只监听其局域网地址。然后我在同一个linux盒子上找到了一个我想安装的服务,当它无法在本地连接时,我感到很困惑。尝试用LAN IP替换localhost的建议改变了消息(几乎总是一个好兆头,对吧?(,并让我找到了解决方案。

希望我的冒险能帮助别人。

启动服务器:

pg_ctl -D "C:Program FilesPostgreSQL14data" start

然后再运行一次。

最新更新