我想从内存运行我的PostgreSQL数据库服务器.原因是在我的新服务器上,我有24 GB的内存,几乎没有使用它.
我知道我可以运行这个命令来制作一个ramdisk:
mdmfs -s 1024m md2 /mnt
理论上我可以将PostgreSQL存储在那里.但问题是,如果服务器崩溃或重新启动,数据将会消失.
基本上,我希望数据库始终在内存中加载,这样它就不必去硬盘驱动器读取每条记录,因为我有大量的内存,因为内存比硬盘驱动器快.
是否有办法在PostgreSQL写入磁盘的同时执行此操作,以便在服务器出现故障时不丢失任何数据?或者有没有办法缓存内存中的所有数据?
我现在正在使用异步的流复制.这意味着我的MASTER可以在内存中运行,使用传统磁盘的单独SLAVE实例.
机器重启将涉及停止SLAVE,将postgresql数据复制回ramdisk,然后重新启动MASTER,然后重启SLAVE.这将是一个有趣的可能性,与REDIS相似,但具有冗余/ hotstandby/backup/sql/rich工具集等优点.
你看过服务器配置手册章了吗?检查一下,然后谷歌postgresql memory tuning
.