我想在 postgresql 上设置复制系统,如#1 MASTER SERVER 和两个复制服务器:#2 SERVER 实时(用于负载平衡),#3 SERVER 延迟一些时间偏移(例如 2 天)以防止应用程序和人为错误数据更新/删除
有人对这种设置有一些经验吗?该解决方案在现实生活中有哪些缺点和问题?
我想在 postgresql 上设置复制系统,如#1 MASTER SERVER 和两个复制服务器:#2 SERVER 实时(用于负载平衡),#3 SERVER 延迟一些时间偏移(例如 2 天)以防止应用程序和人为错误数据更新/删除
有人对这种设置有一些经验吗?该解决方案在现实生活中有哪些缺点和问题?
如果您正在考虑带热备的 PostgreSQL 9.0,请设置存档,以便存档文件仅在特定时间后才对从服务器可用。例如,您可以有一个小的 shell 脚本,它根据文件时间戳将文件从传入存档目录硬链接到传出目录。确保保留订单。(当然,如果你这样做,不要激活流复制。)
我还没有研究过 Postgres 9 中的内置复制,但是如果您使用带有日志传送的 Slony-I,您可以等待应用日志文件,直到它们达到给定的年龄。我们在 cron 下使用 perl 脚本连接到主服务器并提取日志文件,然后应用它们。将东西拉到副本排队,然后遍历并应用它们应该没什么,当你碰到太新的东西时停止。