2016-06-01 2 views
0

Мой вопрос заключается в следующем,Streaming Replication Горячего резерв

Если у меня есть ведущий/ведомый инфраструктура в Postgres и использовать потоковую репликацию (горячий резерв), и я хотел бы повторить мои данные из моего хозяина к слуге моему и решить, для удаления строк на моем сервере master postgres будут ли эти изменения также выполняться на моем сервере подчиненных postgres?, если да, то как я могу предотвратить это, я хочу реплицировать свои данные sql с использованием сегментов WAL для моего подчиненного как часть архивный сервер.

Причина этого в том, что мой главный сервер не имеет достаточного объема памяти и больше емкости для хранения данных не является вариантом, кроме того, все данные должны храниться на ведомом устройстве. Опять же, возможно ли это с потоковой репликацией?

Я не хочу переходить к другой стратегии репликации, так как я потратил слишком много часов на проект и не могу вернуться к этому решению и начать новую форму репликации.

Ваш ввод очень приветствуется.

+0

Идея потоковой репликации заключалась в том, чтобы перевернуть WAL на ведомые устройства. Побег невозможен. –

ответ

0

Номер

Что вы хотите, это не репликация. Вам нужна какая-то форма архивирования. Система на основе триггеров была бы самой простой в адаптации, возможно, логический поток на основе WAL мог бы сделать трюк. Точный характер требуемой системы будет зависеть от точной структуры, использования и содержимого вашей базы данных. У вас есть одна основная таблица, которую вы хотите управлять, вам нужно отслеживать изменения, есть ли у вас пользовательские функции, которые могут изменять таблицы и т. Д.

Если есть одна большая таблица (журнал событий или аналогичный), вы можете быть в состоянии сделать что-то с table partitioning по дате и периодически сбрасывать и восстанавливать старейший раздел, прежде чем отбрасывать его на мастер.

Потратьте время, чтобы понять свои требования перед тем, как начать работу, и я боюсь, вам просто придется списать время, потраченное на ваш первый подход.