将postgres完全留在记忆中

bev*_*anb 5 postgresql

我正在运行各种测试,这些测试在数据库中花费了大量时间.

我想把它全部保留在内存中并且不要触摸数据库,希望这会加快速度.就像使用sqlite3的内存中选项一样.我不需要持久性/持久性/诸如此类,测试后一切都会立即丢弃.

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

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

Cra*_*ger 8

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

优化PostgreSQL以进行快速测试

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

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

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