Восстановление на определенный момент времени в базе данных Greenplum
Мы недавно установили greenplum. Теперь основная проблема заключается в разработке стратегии для PITR. Postgres предоставляет возможность PITR, но я немного смущен тем, как он будет работать в greenplum, поскольку каждый сегмент будет иметь свой собственный каталог журнала и файл конфигурации.
1 ответ
Недавно мы представили концепцию именованной точки восстановления, которая служит строительным блоком для PITR для greenplum. Чтобы использовать это, вам нужно будет использовать функцию каталога gp_create_restore_point(), которая внутренне создает точку согласованности в масштабе кластера для всех сегментов. Эта функция возвращает все местоположения точки восстановления () для каждого сегмента и мастера. Используя эти точки восстановления, вы сможете настроить recovery.conf в своем кластере PITR.
Чтобы продемонстрировать, как работают названные точки восстановления Greenplum, был добавлен новый тестовый каталог src / test / gpdb_pitr. Тест демонстрирует архивирование WAL в сочетании с именованными точками восстановления для восстановления на определенный момент времени.
Если вас больше всего интересуют детали, обратитесь к следующим двум коммитам, в которых подробно обсуждается эта функциональность https://github.com/greenplum-db/gpdb/commit/47896cc89b4935199aa7d97043f2b7572a71042b
https://github.com/greenplum-db/gpdb/commit/40e0fd9ce6c7da3921f0b12e55118320204f0f6d