postgresql - 将 postgres 完全保存在内存中

标签 postgresql

我正在运行在数据库中花费大量时间的各种测试。

我想将其全部保存在内存中并且不接触数据库,希望这样可以加快速度。就像使用 sqlite3 的内存选项一样。我不需要持久性/耐用性/诸如此类的东西,测试后所有东西都会立即丢弃。

这可能吗?我尝试调整我的 postgres 内存相关变量(如下面的解决方案),但这似乎并不影响它执行的数据库写入次数,而且我找不到任何看起来像“内存中”选项的东西.

https://dba.stackexchange.com/questions/18484/tuning-postgresql-for-large-amounts-of-ram

最佳答案

我前段时间写过一篇详细的帖子:

Optimise PostgreSQL for fast testing

您可能会发现它很有用;它涵盖了使 PostgreSQL 在没有持久性的情况下运行的选项以及对运行测试有用的其他调整。

您实际上不需要内存操作。如果 PostgreSQL 设置为不将更改刷新到磁盘,那么在实践中,适合 RAM 的 DB 几乎没有区别,而对于不适合 RAM 的 DB,它不会崩溃。

您应该使用您在生产中使用的相同数据库引擎进行测试。使用 SQLite、Derby、H2 等进行测试,然后在 PostgreSQL 上进行实时部署没有多大意义……任何 Heroku/Rails 用户都可以从经验中告诉您。

关于postgresql - 将 postgres 完全保存在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17736102/

相关文章:

postgresql - explain analyze : Total time spent executing a task. 文档错误还是我的错误?

postgresql - psql 启动多个并发 .sql 脚本并限制进程

database - 从 Mac OSX 问题中完全卸载 Postgresql

postgresql - Spring Boot 无法使用 PostgreSQL 驱动程序加载 DataSource

postgresql - 查找最后插入的记录 - Postgresql

sql - 提高 Postgres 在多级自连接的类图查询上的性能(与 Neo4j 比较)

python + psycopg2 = 未知类型?

mongodb - 如何在 MongoDB 和 PostgreSQL for GIS 之间进行选择?

database - 将 Heroku 上的 Postgres 从 9.2 升级到 9.3?

postgresql - 具有相同通配符的模式匹配