postgresql 9.1.9的MemoryError

时间:2014-04-15 08:10:26

标签: python postgresql mod-wsgi

使用mod_wsgi在pylons1.0项目中使用postgresql9.1.9。

获取“内存不足错误”。

查询大约有140万行,并且在query.all()上崩溃了。 用于过滤的列已编制索引。 在postgresql.conf中,shared_buffers = 24MB,max_connections = 100。

你能否建议解决这个问题?

1 个答案:

答案 0 :(得分:1)

  

查询大约有140万行,并且在query.all()上崩溃。

当你说崩溃时:你的意思是python客户端可执行文件,还是PostgreSQL服务器?

我强烈怀疑崩溃是在Python中。我说你一次将所有结果都记录到记忆中,但他们认为不合适。

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