Postgress 遵循 MVCC 规则。因此,在表上运行的任何查询都不会与表上发生的写入冲突。查询根据运行查询时的快照返回结果。
现在我有一个主人和奴隶。分析人员使用从站来运行查询和执行分析。当从服务器正在复制并且分析师同时运行他们的查询时,我可以看到复制滞后很长时间。如果查询长时间运行,则复制滞后很长时间,如果主服务器上的写入次数恰好是相当高,然后我最终会丢失 WAL 文件,并且复制可以再继续进行。我只需要启动另一个奴隶。为什么会这样?我如何允许查询和复制在姿势上同时发生?我可以应用任何参数设置来实现这一点吗?