Python postgresql 9.1.9的MemoryError

Python postgresql 9.1.9的MemoryError,python,postgresql,mod-wsgi,Python,Postgresql,Mod Wsgi,在带有mod_wsgi的pylons1.0项目中使用postgresql9.1.9 正在获取“内存不足错误” 查询大约有140万行,在Query.all()上崩溃。 用于筛选的列已编制索引。 在postgresql.conf中,共享缓冲区=24MB,最大连接数=100 你能推荐一下这项工作吗 查询大约有140万行,在Query.all()上崩溃 当你说它崩溃时:你是指python客户机可执行文件还是PostgreSQL服务器 我强烈怀疑崩溃是在Python中发生的。我要说的是,你正在将所有的结果

在带有mod_wsgi的pylons1.0项目中使用postgresql9.1.9

正在获取“内存不足错误”

查询大约有140万行,在Query.all()上崩溃。 用于筛选的列已编制索引。 在postgresql.conf中,共享缓冲区=24MB,最大连接数=100

你能推荐一下这项工作吗

查询大约有140万行,在Query.all()上崩溃

当你说它崩溃时:你是指
python
客户机可执行文件还是PostgreSQL服务器

我强烈怀疑崩溃是在Python中发生的。我要说的是,你正在将所有的结果一次读入内存,但它们并不合适


您需要做的是逐步读取查询结果,处理它们,然后从内存中丢弃它们。在
psycopg2
中,您可以通过迭代
游标
对象,或使用
游标.fetchone()
来执行此操作。挂架应该提供类似的方法。

共享\u缓冲区=24MB
现在非常低。但更重要的设置是
work\u mem
。执行计划怎么说?错误消息真的来自Postgres还是您的编程语言?Postgres日志文件是否显示任何错误?您知道9.1.x有4个错误修复版本可供使用,但您没有应用吗?谢谢。我尝试将work_mem从1MB增加到5MB,然后再增加到10MB。现在没有MemoryError,但在这两种情况下都需要1分钟。这是正常的,还是您提出了一个更好的值?MemoryError出现在python脚本(由Pylons使用)中,而不是在postgresql中。我还将尝试更新到9.1.13并运行一些测试。非常感谢:)这是一个python内存错误。所以我修改了python代码。它解决了这个问题。谢谢:)