Рекомендации по выполнению компенсации времени задержки репликации

dba.stackexchange https://dba.stackexchange.com/questions/183

Вопрос

Я хочу настроить систему репликации на postgresql как # 1 ГЛАВНЫЙ СЕРВЕР и два реплицируемых сервера:СЕРВЕР № 2 в режиме реального времени (для балансировки нагрузки), СЕРВЕР № 3 задержан с некоторым временным сдвигом (например, на 2 дня), чтобы предотвратить ошибки приложений и человека при обновлении / удалении данных

У кого-нибудь есть некоторый опыт работы с такого рода настройками?Каковы реальные жизненные недостатки и проблемы, связанные с этим решением?

Это было полезно?

Решение

Если вы рассматриваете PostgreSQL 9.0 с горячим резервным режимом, установите архив, чтобы архивные файлы стали доступны для раба только через определенное время. Например, у вас может быть небольшой скрипт оболочки, который жестко личит файлы от входящего архивного каталога в исходящий на основе временных метров. Убедитесь, что вы сохраняете заказ. (Естественно, не активируйте потоковую репликацию, если вы это сделаете.)

Другие советы

Я не изучал встроенную репликацию в Postgres 9, но если вы используете Slony-I с доставкой бревен, вы можете просто подождать применения файлов журналов до тех пор, пока им не исполнится заданный возраст.Мы используем perl-скрипт под управлением cron, который подключается к главному серверу и извлекает файлы журналов, а затем применяет их.Ничего не должно быть, чтобы перенести материалы в реплику в очередь, а затем просмотреть и применить их, останавливаясь, когда вы натыкаетесь на слишком новые.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top