我需要在内存中运行PostgreSQL (出于性能原因),所以我打算禁用fsync,这意味着不会向WAL发送写操作。
然而,作为我的方案的一部分,以满足另一个需求(当易失内存丢失时,内存中的数据库有一些地方可以恢复),我想要流或者推写到副本。然而,PostgreSQL的热备用能力是基于WAL的。显然,我不能用这个。
如何使用PostgreSQL特性实现这些目标?
谢谢。
发布于 2014-05-21 16:24:35
关闭fsync并不会阻止写到WAL,它只会阻止那些写被显式同步。所以你仍然可以用这个来给热备用。但是,如果您的数据库太忙了,您需要这样做,我想知道热待机是否能跟上它。
此外,关闭synchronous_commit将给您带来很大的好处,而不会出现关闭fsync的损坏风险。
最后,任何运行这样繁忙系统的人都应该有某种非易失性写入缓冲区的预算,这将使fsyncs更少出现性能问题。
https://dba.stackexchange.com/questions/65507
复制相似问题