内存数据库django中的Postgresql

Postgresql in memory database django

对于性能问题,我想在 django 的内存数据库上执行优化算法(我可能会执行很多查询)。我知道可以在内存中使用 sqlite (How to run Django's test database only in memory?),但我宁愿使用 postgresql,因为我们的产品数据库是 postgresql 数据库。

有人知道如何告诉 django 在内存中创建 postgresql 数据库吗?

提前致谢

这是不可能的。您不能在内存中独占使用 PostgreSQL;至少在不违背使用 PostgreSQL 而不是其他东西的目的的情况下。像 Redis 运行 这样的内存数据存储和 PostgreSQL 是你能做的最好的。

此外,在这一点上,配置远远不在 Django 的手中。它必须在 Django 的环境之外完成。

您似乎对这些系统的工作原理缺乏了解。首先构建您的应用程序以验证一切正常,然后再考虑以这种方式优化数据库。

这是过早的优化。 Postgresql 非常非常快,即使您 运行 它在冷金属硬盘上,只要您使用正确的索引。如果您不将数据持久保存在磁盘上,您将面临一个痛苦的世界。

另一方面,如果您想通过 运行 内存中的 postgresql 数据库加快测试速度,您可以尝试类似这些 非耐久性优化:

http://www.postgresql.org/docs/9.1/static/non-durability.html

最激烈的建议是在该页面上使用 ramdiskHere's how设置一个。按照 OS/Postgresql 步骤编辑 django settings.py 并将表空间添加到 DATABASES 部分。

最后但同样重要的是:这完全是在浪费时间。