使用mod_wsgi在pylons1.0项目中使用postgresql9.1.9。
获取“内存不足错误”。
查询大约有140万行,并且在query.all()上崩溃了。 用于过滤的列已编制索引。 在postgresql.conf中,shared_buffers = 24MB,max_connections = 100。
你能否建议解决这个问题?
答案 0 :(得分:1)
查询大约有140万行,并且在query.all()上崩溃。
当你说它崩溃时:你的意思是python
客户端可执行文件,还是PostgreSQL服务器?
我强烈怀疑崩溃是在Python中。我说你一次将所有结果都记录到记忆中,但他们认为不合适。
您需要做的是逐步读取查询结果,处理它们,并从内存中丢弃它们。在psycopg2
中,您可以通过迭代cursor
对象或使用cursor.fetchone()
来完成此操作。 Pylons应该提供类似的方法。