Расширение системных каталогов

После выполнения перераспределения следующие системные каталоги (включая системные таблицы и представления) автоматически создаются и сохраняются в схеме matrixmgr_internal базы данных matrixmgr:

  • expand_status_summary
  • expand_status_detail
  • expand_expansion_progress

1.1 expand_status_summary

Эта таблица содержит временные метки для каждой фазы перераспределения данных, со следующими столбцами:

Столбец Тип Описание
status text Отслеживает статус операции расширения. Допустимые значения:
SCHEDULED START — запланированное время начала перераспределения
SETUP — время начала сбора метаданных таблиц базы данных
SETUP DONE — время завершения сбора метаданных
EXPANSION STARTED — время начала фактического перераспределения данных
COMPLETED — время завершения всех задач перераспределения
LAST SCHEDULED START — после завершения значение SCHEDULED START сохраняется здесь, а SCHEDULED START очищается
updated_at timestamp with time zone Временная метка последнего изменения статуса

1.2 expand_status_detail

Эта таблица содержит информацию о статусе таблиц, участвующих в расширении. Запрос к этой таблице позволяет определить текущий статус перераспределяемой таблицы или просмотреть временные метки начала и окончания для завершённых таблиц. Если в этой таблице отсутствуют записи, перераспределение не требуется.

Также в ней хранятся метаданные, связанные с таблицами, такие как OID.

Столбец Тип Описание
dbname text Имя базы данных, к которой принадлежит таблица
db_oid oid OID базы данных, к которой принадлежит таблица
fq_name text Полное имя таблицы
table_oid oid OID таблицы
root_partition_name text Для партиционированных таблиц — имя корневой партиции; в противном случае None
rank int Определяет порядок обработки таблиц при расширении. Инструмент расширения сортирует таблицы по этому полю: таблицы с меньшим значением обрабатываются раньше
external_writable boolean Указывает, является ли таблица внешней записываемой таблицей. (Внешние записываемые таблицы требуют иного синтаксиса для расширения.)
status text Текущий статус расширения таблицы. Допустимые значения:
NOT STARTED
IN PROGRESS
PENDING
RETRYING
COMPLETED
FAILED
expansion_started_at timestamp with time zone Временная метка начала расширения этой таблицы
expansion_finished_at timestamp with time zone Временная метка завершения расширения этой таблицы. Это поле также обновляется в случае неудачи расширения
source_bytes numeric Объём данных, ещё не перераспределённых. Из-за фрагментации таблиц в HEAP-таблицах и изменения количества сегментов после расширения конечный размер может отличаться от исходного. Этот столбец используется для отслеживания прогресса и оценки общего времени расширения
failed_times integer Количество попыток повтора. Значение по умолчанию — 5

1.3 expand_expansion_progress

Этот системный каталог представляет собой представление, предоставляющее информацию о общем статусе расширения, включая оценочную скорость перераспределения и оставшееся время до завершения всего перераспределения данных.

Столбец Тип Описание
name text Имена метрик, описывающих процесс расширения. Возможные значения:
Bytes Pending
Bytes in Progress
Bytes Done
Bytes Failed
Estimated Expansion Rate
Estimated Remaining Time
Done Tables Number
Pending Tables Number
In Progress Tables Number
Failed Tables Number
value text Значение соответствующей метрики. Пример: Bytes Pending: 100023434