Инкрементное резервное копирование базы данных greenplum не работает - PullRequest
0 голосов
/ 10 февраля 2020

В базе данных greenplum при использовании утилиты gpbackup я понимаю таблицы кучи, даже когда многораздельные берут полное резервное копирование таблицы, даже когда мы выполняем инкрементное резервное копирование. Но если я создаю первичный ключ или индекс в таблице кучи, разве он не должен вести себя как организованная таблица добавления? Но все равно требуется полная резервная копия, если указан параметр --incremental. Есть причина для этого?

1 Ответ

1 голос
/ 10 февраля 2020

Утилита gpcrondump сравнивает состояние каждой таблицы в базе данных только с последней резервной копией с использованием файлов состояния. Если с момента последнего резервного копирования произошли какие-либо изменения в состоянии таблицы, она помечается как грязная и создается резервная копия во время инкрементного резервного копирования.

На уровне файлов таблицы кучи, если они очищены, имеют пустые слоты кортежей которые заполняются следующим доступным кортежем - как только этот слот будет заполнен, весь файл будет изменен.

Таким образом, gpcrondump может делать только инкрементные резервные копии таблиц "только для добавления".

Я хотел бы взглянуть на gpbackup - который содержит пошаговые резервные копии в дорожной карте и в настоящее время работает намного быстрее, чем gpcrondump для большинства операций резервного копирования.

...