5.3. Параметры конфигурации, специфичные для prosync #

Ниже приведён фрагмент файла конфигурации prosync в формате YAML с перечислением параметров, специфичных для prosync:

prosync_options:
    export_batch_size: 10000000
    max_export_batch_size: 100000000
    process_batch_size: 10000
    batch_save_after_timeout: 5m0s
    import_batch_size: 1000000
    prefetch_rows: 250
    use_online_logs_unsafe: false
    validate_log_sequence: true
    lob_write_size: 30000
    operation_count_for_external_storage: 5000

О том, как устанавливать значения времени в параметрах конфигурации, можно узнать из Подраздела 4.3.6.

Таблица 5.3. Параметры конфигурации prosync

НазваниеОписаниеЗначение по умолчаниюПример
prosync_optionsСпецифические параметры конфигурации prosync  
prosync_options.export_batch_sizeРазмер пакета при чтении утилитой prosync из Oracle с использованием LogMiner  
prosync_options.max_export_batch_sizeМаксимальный размер, до которого может быть увеличен размер пакета при чтении. Если этот предел достигнут, prosync завершает работу с ошибкой. Это может произойти, если остаётся незавершённая транзакция. Пользователь должен устранить проблему вручную.  
prosync_options.process_batch_sizeРазмер пакета при обработке транзакции. Параметр предназначен для внутреннего конфигурирования работы утилиты.10000 
prosync_options.batch_save_after_timeoutВремя, по прошествии которого пакет будет записан в базу данных-приёмник, если его размер меньше значения параметра max_export_batch_size. При значении 0 периодическая запись данных в базу данных-приёмник отключается.5 с5 мин
prosync_options.import_batch_sizeРазмер пакета при вставке данных. Значение 0 означает, что данные будут вставляться по мере их появления.  
prosync_options.prefetch_rowsУстаревший параметр. Количество строк, извлекаемых драйвером за один запрос к базе данных.  
prosync_options.use_online_logs_unsafeВключает чтение изменений как из архивных, так и из активных REDO LOGS. Этот флаг позволяет получать изменения сразу после их появления в активных журналах. Не рекомендуется использовать, если требуется надёжность, так как из-за особенностей записи журналов в Oracle возможна потеря части операций.false 
prosync_options.validate_log_sequenceПроверка последовательности файлов журналов. Если какой-либо файл отсутствует, prosync завершает работу с ошибкой. Если допустима потеря части данных, установите этот параметр в false.true 
prosync_options.lob_write_sizeМаксимальное количество байтов, записываемое за один раз при сохранении больших объектов (LOB)  
prosync_options.operation_count_for_external_storageКоличество операций в одной транзакции, при достижении которого промежуточные данные записываются на диск  
prosync_options.transfer_idИдентификатор трансфера данных. Используется для создания имён слотов репликации и публикаций. Этот параметр является обязательным. d87708a4-c35e-4379-8845-d173683e5385
prosync_options.null_char_replaceСтрока для замены символов null, т.е. символов с нулевым кодом. Это глобальная настройка, которую можно переопределить для каждого столбца с помощью значения tasks.transform.​column_name.​null_char_replace.

nil, но для источника Oracle и приёмника PostgreSQL/Postgres Pro:

null_char_replace:
  replace: ""
  destination_types: ["varchar", "char", "bpchar",
  "text", "json", "jsonb", "xml"]
 
prosync_options.null_char_replace.replaceСимвол или строка для замены \0x0000. Если значение не указано, замена не производится.nilreplace: "\n"
prosync_options.null_char_replace.destination_typesУказывает типы в базе данных-приёмнике, для которых необходимо заменять символы null. Символ или строка для замены \0x0000. Если значение не указано, замена не производится.[]
destination_types: ["varchar", "char",
"text", "json", "jsonb", "xml"]
prosync_options.readersКоличество рабочих процессов, читающих из LogMiner. При положительном значении параметр use_online_logs_unsafe игнорируется.0 — медленное однопоточное чтение, которое, тем не менее, совместимо с use_online_logs_unsafe 
prosync_options.use_failover_slotsБудут ли использоваться слоты для отработки отказа логической репликации. Этот параметр применим только к источникам PostgreSQL/Postgres Pro 17.0 или выше.false 
prosync_options.use_replica_auto_sync_slotsВключает логику prosync для распространения слотов репликации. Используйте, если нужны слоты для отработки отказа логической репликации на кластере, но ваша версия PostgreSQL/Postgres Pro ниже 17.0, или если нужно читать с реплики или в том числе с реплики.false 
prosync_options.postgres_slot_advance_intervalКак часто будет двигаться слот на всём кластере при включённом prosync_options.use_replica_auto_sync_slots. Значение должно быть больше 100 миллисекунд.5 с500 мс
prosync_options.loadersКоличество рабочих процессов, которые пишут в приёмник. Если не указано или равно нулю, используется один рабочий процесс.0 
prosync_options.truncate_processОбрабатывать ли операции truncate. При значении true для целевой таблицы в приёмнике будут обрабатываться операции truncate.false 
prosync_options.get_replication_message_timeoutТайм-аут на получение сообщений от БД-источника PostgreSQL/Postgres Pro. Должен быть не меньше wal_sender_timeout.60 с 
prosync_options.dump_modeРежим дампа. Если он включён, вместо выполнения операции сохраняются в файл дампа.false