Dav*_*nes 21 memory postgresql freebsd
我想从内存运行我的PostgreSQL数据库服务器.原因是在我的新服务器上,我有24 GB的内存,几乎没有使用它.
我知道我可以运行这个命令来制作一个ramdisk:
mdmfs -s 1024m md2 /mnt
Run Code Online (Sandbox Code Playgroud)
理论上我可以将PostgreSQL存储在那里.但问题是,如果服务器崩溃或重新启动,数据将会消失.
基本上,我希望数据库始终在内存中加载,这样它就不必去硬盘驱动器读取每条记录,因为我有大量的内存,因为内存比硬盘驱动器快.
是否有办法在PostgreSQL写入磁盘的同时执行此操作,以便在服务器出现故障时不丢失任何数据?或者有没有办法缓存内存中的所有数据?
小智 11
我现在正在使用异步的流复制.这意味着我的MASTER可以在内存中运行,使用传统磁盘的单独SLAVE实例.
机器重启将涉及停止SLAVE,将postgresql数据复制回ramdisk,然后重新启动MASTER,然后重启SLAVE.这将是一个有趣的可能性,与REDIS相似,但具有冗余/ hotstandby/backup/sql/rich工具集等优点.
我必须相信 Postgres 的编写方式可以充分利用服务器中的可用 RAM。正如您现在可能已经猜到的,在 Postgres 之外没有可靠的方法可以做到这一点。
在 Postgres 中,事务确保所有操作都是原子的,因此如果在写入 Postgres 数据库时断电,您只会丢失该特定操作,而不是整个数据库。
归档时间: |
|
查看次数: |
15885 次 |
最近记录: |