“D”信息中数据不足

问题描述 投票:0回答:2

我正在使用 SQLAlchemy 范围会话来处理 postgresql 9.4 数据库。 有时我会收到一条错误消息,显示“DatabaseError:(DatabaseError)“D”消息中的数据不足”。我无法重现此错误,并且它以不可预测的方式发生。 查看 postgres 日志文件后,在 postgresql 日志“无法从客户端接收数据:连接由对等方重置”之后不久就会发生此错误。我想这意味着连接从应用程序端被切断。但我没有看到任何可能导致这种情况的事情。

python postgresql sqlalchemy
2个回答
1
投票

是时候突破你的网络工具了。两端都有错误,这表明某些原因导致您的连接断开。

可能是硬件、驱动程序、软件堆栈中的某些错误或代理/防火墙决定它不喜欢您的连接外观并终止了它。它不太可能是 PostgreSQL 本身或您的任何 Python 代码。

启动 tcpdumpwireshark 并查看来回的数据包。最好在连接的两端。这应该可以很好地表明问题出在哪里。


0
投票

就我而言,数据库和应用程序位于 Docker 容器中。我使用 docker-compose 来运行它们。

对我有帮助的是这两个命令:

docker-compose down
docker-compose up
© www.soinside.com 2019 - 2024. All rights reserved.