我已经设法用Postgresql (9.3,如果重要的话)设置了流复制。但是,访问辅助服务器的应用程序(当然)无法执行INSERT语句。
有没有办法让辅助服务器将这些写入转发到主服务器?
发布于 2015-08-20 20:37:36
目前(至少是9.5或更早的版本)还没有内置的支持,可以透明地将会话从读副本重定向到可写主服务器。我也不知道有人试图开发这样的支持。
它比你所期望的要复杂得多,它以一种适当保留ACID事务语义(适当的隔离、锁定等)的方式将写更改从读副本重定向到主服务器,这样应用程序就不必“了解”它并特别小心。
PgPool-II项目通过代理层提供了一些(有限的)支持,在这一点上可能是您最好的选择。请注意,基于代理的读/写拆分存在一些重大限制和潜在的事务一致性冲突。
有几个多主解决方案,但除非你知道你需要它,否则你真的不应该去那里。我是一个活跃的one of them开发人员,所以我非常清楚多主控带来的妥协和问题。除非你真的真的迫不得已,否则不要去那里。
https://stackoverflow.com/questions/32097910
复制相似问题