×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

3.4.6. Репликация

3.4.6.1. Передающие серверы
3.4.6.2. Основной сервер
3.4.6.3. Резервные серверы
3.4.6.4. Подписчики

Данные настройки управляют поведением встроенного функционала потоковой репликации функционал (см. Раздел 3.11.2.5), и встроенным логическая репликация функционал (см. Глава 3.14).

Для потоковой репликации, серверы могут функционировать либо как основной сервер, либо как резервный сервер. Основные серверы обеспечивают передачу данных, тогда как резервные серверы всегда выступают в роли получателей реплицируемых данных. При использовании каскадной репликации (см. Раздел 3.11.2.7) резервные серверы также могут выступать как в роли отправителей, так и получателей. Параметры ориентированы преимущественно на передающие и резервные серверы, хотя некоторые параметры имеют значение только для основного сервера. При необходимости значения настроек могут беспрепятственно различаться в пределах кластера.

Для логическая репликация, публикаторы (серверы, выполняющие команду CREATE PUBLICATION) реплицируют данные на подписчики (серверы, выполняющие команду CREATE SUBSCRIPTION). Серверы также могут одновременно являться публикаторами и подписчиками. Обратите внимание, что в последующих разделах публикаторы именуются «отправителями». Дополнительные сведения о параметрах конфигурации логической репликации приведены в Раздел 3.14.11.

3.4.6.1. Передающие серверы #

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

max_wal_senders (integer) #

Задает максимальное количество одновременных подключений от резервных серверов или клиентов потокового базового резервного копирования (т. е. максимальное число одновременно работающих процессов WAL sender). Значение по умолчанию — 10. Значение 0 означает, что репликация отключена. Внезапное отключение потокового клиента может привести к удержанию слота подключения до истечения времени ожидания, поэтому значение данного параметра должно немного превышать максимальное число ожидаемых клиентов, чтобы отключенные клиенты могли немедленно переподключиться. Данный параметр можно установить только при запуске сервера. Кроме того, параметр wal_level должен быть установлен в значение replica или выше для разрешения подключений от резервных серверов.

При работе резервного сервера необходимо установить данный параметр в то же или более высокое значение, чем на основном сервере. В противном случае выполнение запросов на резервном сервере будет невозможно.

max_replication_slots (integer) #

Задает максимальное количество слотов репликации (см. Раздел 3.11.2.6), которые сервер может поддерживать. Значение по умолчанию — 10. Данный параметр может быть установлен только при запуске сервера. Установка значения данного параметра меньшим, чем количество текущих существующих слотов репликации, предотвратит запуск сервера. Кроме того, wal_level параметр должен быть установлен в replica в указанное значение или выше, чтобы обеспечить использование слотов репликации.

Обратите внимание, что данный параметр также применяется на стороне подписчика, но имеет иное значение.

wal_keep_size (integer) #

Определяет минимальный размер прошлых файлов WAL, сохраняемых в pg_wal каталоге, на случай, если резервному серверу потребуется их получение для потоковой репликации. Если резервный сервер, подключенный к передающему серверу, отстанет более чем на wal_keep_size мегабайты, передающий сервер может удалить сегмент WAL, все еще требующийся резервному серверу; в этом случае соединение репликации будет прервано. Нижестоящие соединения также со временем выйдут из строя. (Однако резервный сервер может восстановиться, извлекая сегмент из архива, если WAL используется архивирование.)

Данный параметр устанавливает только минимальный размер сегментов, сохраняемых в pg_wal; системе может потребоваться сохранение большего количества сегментов для архивирования WAL или восстановления из контрольной точки. Если wal_keep_size равно нулю (по умолчанию), система не сохраняет дополнительные сегменты для нужд резервного сервера, поэтому количество старых сегментов WAL, доступных для резервных серверов, является функцией местоположения предыдущей контрольной точки и состояния процесса архивирования WAL. Если данное значение указано без единиц измерения, оно измеряется в мегабайтах. Данный параметр может быть задан только в postgresql.conf конфигурационном файле или в командной строке запуска сервера.

max_slot_wal_keep_size (integer) #

Укажите максимальный размер файлов WAL, которые слотам репликации слотов разрешено сохранять в pg_wal каталоге во время выполнения контрольной точки. Если max_slot_wal_keep_size равно -1 (по умолчанию), слоты репликации могут хранить неограниченное количество файлов WAL. В противном случае, если значение restart_lsn слота репликации отстает от текущего значения LSN более чем на указанный размер, резервный сервер, использующий этот слот, может потерять возможность продолжить репликацию в связи с удалением необходимых файлов WAL. Вы можете просмотреть состояние доступности WAL для слотов репликации в pg_replication_slots. Если данное значение указано без единиц измерения, оно измеряется в мегабайтах. Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера.

wal_sender_timeout (integer) #

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

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

track_commit_timestamp (boolean) #

Записывать время фиксации транзакций. Данный параметр может быть установлен только в postgresql.conf конфигурационном файле или в командной строке сервера командная строка. Значение по умолчанию — off.

synchronized_standby_slots (string) #

Разделенный запятыми список имен слотов резервных серверов потоковой репликации, которых будут ожидать процессы логической передачи WAL. Процессы логической передачи WAL будут отправлять декодированные изменения в модули расширения только после того, как указанные слоты репликации подтвердят получение WAL. Это гарантирует, что слоты отказоустойчивой логической репликации не будут обрабатывать изменения до тех пор, пока они не будут получены и записаны на соответствующие физические резервные серверы. Если соединение логической репликации должно переключаться на физический резервный сервер после повышения его роли, в данном списке должен быть указан слот физической репликации для этого резервного сервера. Обратите внимание, что логическая репликация не будет продолжена, если слоты, указанные в параметре, synchronized_standby_slots не существуют или стали недействительными. Кроме того, функции управления репликацией pg_replication_slot_advance, pg_logical_slot_get_changes, а также pg_logical_slot_peek_changes, при использовании со слотами отказоустойчивой логической репликации будут заблокированы до тех пор, пока все физические слоты, указанные в параметре, synchronized_standby_slots не подтвердят получение WAL.

Резервные серверы, соответствующие слотам физической репликации в synchronized_standby_slots должны иметь настроенный параметр sync_replication_slots = true для обеспечения возможности получения изменений в слотах логического переключения при отказе с основного сервера.

3.4.6.2. Основной сервер #

Данные параметры могут быть заданы на основном сервере, предназначенном для передачи данных репликации на один или несколько резервных серверов. Обратите внимание, что помимо этих параметров, wal_level должны быть соответствующим образом настроены на основном сервере; также дополнительно может быть включено архивирование WAL (см. Раздел 3.4.5.3). Значения этих параметров на резервных серверах игнорируются, хотя их целесообразно установить и там на случай возможного перехода резервного сервера в статус основного.

synchronous_standby_names (string) #

Задает список резервных серверов, поддерживающих синхронную репликацию, как описано в Раздел 3.11.2.8. В системе будет один или несколько активных синхронных резервных серверов; транзакциям, ожидающим фиксации, будет разрешено продолжить работу после того, как данные резервные серверы подтвердят получение данных. Синхронными резервными серверами будут те, чьи имена указаны в данном списке, и которые одновременно подключены и осуществляют потоковую передачу данных в режиме реального времени (на что указывает состояние streaming в pg_stat_replication представлении). Указание нескольких синхронных резервных серверов позволяет обеспечить очень высокую доступность и защиту данных от потери.

Именем резервного сервера для этой цели является значение application_name параметра резервного сервера, заданное в параметрах соединения резервного сервера. В случае физической репликации на резервном сервере это значение следует указать в primary_conninfo параметре; по умолчанию используется значение параметра cluster_name , если оно задано, в противном случае — walreceiver. Для логической репликации данный параметр может быть настроен в параметрах соединения информацию о подписке; по умолчанию значением параметра является имя подписки. Для других потребителей потока репликации следует обратиться к соответствующей документации.

Данный параметр определяет список резервных серверов с использованием одного из следующих вариантов синтаксиса:

[FIRST] num_sync ( standby_name [, ...] )
ANY num_sync ( standby_name [, ...] )
standby_name [, ...]

где num_sync заменяется количество синхронных резервных серверов, получения подтверждения от которых должны ожидать транзакции, и standby_name представляет собой имя резервного сервера. FIRST и ANY определяют метод выбора синхронных резервных серверов из перечисленных серверов.

Ключевое слово FIRST, в сочетании с num_sync, определяет синхронную репликацию на основе приоритетов и инициирует ожидание фиксации транзакций до момента репликации записей WAL на num_sync синхронные резервные серверы, выбранные на основе их приоритетов. Например, значение параметра FIRST 3 (s1, s2, s3, s4) приведет к тому, что каждая фиксация транзакции будет ожидать ответов от трех резервных серверов с более высоким приоритетом, выбранных из списка s1, s2, s3 и s4. Резервным серверам, имена которых указаны в списке раньше, назначается более высокий приоритет, и они рассматриваются как синхронные. Другие резервные серверы, указанные в списке позже, являются потенциальными синхронными резервными серверами. Если какой-либо из текущих синхронных резервных серверов отключится по любой причине, он будет немедленно заменен следующим сервером с наивысшим приоритетом резервный сервер. Ключевое слово FIRST является необязательным.

Ключевое слово ANY, в сочетании с num_sync, определяет синхронную репликацию на основе кворума и обеспечивает ожидание фиксации транзакций, до тех пор, пока их записи WAL не будут реплицированы на как минимум num_sync указанные резервные серверы. Например, значение параметра ANY 3 (s1, s2, s3, s4) приведет к тому, что каждая фиксация будет выполнена, как только любые три резервных сервера из s1, s2, s3 и s4 числа перечисленных ответят.

FIRST и ANY нечувствительны к регистру. Если эти ключевые слова используются в качестве имени резервного сервера, данное имя standby_name должно быть заключено в двойные кавычки.

Третий вариант синтаксиса использовался до Digital Q.DataBase версии 9.6 и до сих пор поддерживается. Данная запись эквивалентна первому варианту синтаксиса с FIRST и num_sync значение равно 1. Например, FIRST 1 (s1, s2) и s1, s2 не то же значение: либо s1 или s2 выбирается в качестве синхронного резервного сервера.

Специальная запись * соответствует любому имени резервного сервера.

Механизм обеспечения уникальности имен резервных серверов отсутствует. В случае появления дубликатов один из подходящих резервных серверов будет рассматриваться как имеющий более высокий приоритет, хотя конкретный выбор не определен.

Примечание

Каждое значение standby_name должно иметь формат корректного SQL-идентификатора, если только оно не является *. При необходимости можно использовать двойные кавычки. Однако следует учесть, что которые standby_nameимена сравниваются с именами приложений резервных серверов нечувствительно к регистру, независимо от того в двойных кавычках или без них.

Если имена синхронных резервных серверов здесь не указаны, то синхронная репликация не активируется, и фиксация транзакций не будет ожидать репликации. Это конфигурация по умолчанию. Даже если синхронная репликация включена, для отдельных транзакций можно отменить ожидание репликации путем установки synchronous_commit параметра в значение local или off.

Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера.

3.4.6.3. Резервные серверы #

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

primary_conninfo (string) #

Задает строку подключения, используемую резервным сервером для установления соединения с передающим сервером. Данная строка имеет формат описанного в Раздел 4.1.1.1. Если какой-либо параметр не указан в этой строке, то соответствующая переменная окружения переменная (см. Раздел 4.1.15) проверяется. Если переменная окружения также не задана, то используются значения по умолчанию.

В строке подключения необходимо указать имя (или адрес) узла отправляющего сервера, а также номер порта, если он не совпадает со значением по умолчанию резервного сервера. Также следует указать имя пользователя, соответствующее роли с подходящими правами на отправляющем сервере (см. Раздел 3.11.2.5.1). Кроме того, необходимо предоставить пароль, если отправитель требует парольную аутентификацию. Пароль может быть указан в primary_conninfo строке подключения или в отдельном ~/.pgpass файле на резервном сервере (используйте replication в качестве имени базы данных).

Для синхронизации слотов репликации (см. Раздел 5.12.2.3), также необходимо указать допустимое значение dbname в primary_conninfo строке. Данное значение будет использоваться только для синхронизации слотов. Оно игнорируется при потоковой репликации.

Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера. Если этот параметр изменяется во время работы процесса WAL-receiver, данному процессу подается сигнал на завершение работы, после чего ожидается его перезапуск с новым значением параметра (за исключением случаев, когда primary_conninfo является пустой строкой). Данный параметр не задействуется, если сервер не находится в режиме ожидания.

primary_slot_name (string) #

Опционально определяет существующий слот репликации, используемый при подключении к передающему серверу посредством потоковой репликации для управления удалением ресурсов на вышестоящем узле (см. Раздел 3.11.2.6). Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера. Если этот параметр изменяется во время работы процесса WAL-receiver, данному процессу подается сигнал на завершение работы, после чего ожидается его перезапуск с новым значением параметра. Данный параметр не задействуется, если primary_conninfo не является задан или сервер не находится в режиме резерва.

hot_standby (boolean) #

Определяет возможность подключения и выполнения запросов в процессе восстановления, как описано в Раздел 3.11.4. Значение по умолчанию — on. Данный параметр может быть установлен только при запуске сервера. Он действует только в процессе восстановления из архива или в режиме резерва.

max_standby_archive_delay (integer) #

При активном горячем резерве этот параметр определяет время ожидания резервным сервером перед отменой резервных запросов, которые конфликтуют с ожидающими применения записями WAL, как описано в Раздел 3.11.4.2. max_standby_archive_delay применяется, когда данные WAL считываются из архива WAL (и, следовательно, не являются актуальными). Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Значение по умолчанию — 30 секунд. Значение -1 позволяет резервному серверу ожидать завершения конфликтующих запросов неограниченное время. Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера.

Обратите внимание, что max_standby_archive_delay не совпадает со максимальной продолжительностью выполнения запроса до его отмены; скорее это максимальное суммарное время, отведенное на применение данных любого одного сегмента WAL. Таким образом, если один запрос привел к значительной задержке ранее в сегмента WAL, последующие конфликтующие запросы будут иметь гораздо меньшее льготное время.

max_standby_streaming_delay (integer) #

При активном горячем резерве этот параметр определяет время ожидания резервным сервером перед отменой резервных запросов, которые конфликтуют с ожидающими применения записями WAL, как описано в Раздел 3.11.4.2. max_standby_streaming_delay применяется, когда данные WAL получаемых посредством потоковой репликации. Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Значение по умолчанию — 30 секунд. Значение -1 позволяет резервному серверу ожидать завершения конфликтующих запросов неограниченное время. Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера.

Обратите внимание, что max_standby_streaming_delay не совпадает со значением максимальной длительности выполнения запроса до его отмены; скорее, это максимальное общее время, разрешенное для применения данных WAL после того, как они были получены от основного сервера. Таким образом, если один запрос привел к значительной задержке, последующие конфликтующие запросы будут иметь гораздо меньший льготный период до тех пор, пока резервный сервер снова не синхронизируется с основным.

wal_receiver_create_temp_slot (boolean) #

Определяет, должен ли процесс-приемник WAL создавать временный слот репликации на удаленном экземпляре, если постоянный слот репликации для использования не был сконфигурирован (с использованием параметра primary_slot_name). Значение по умолчанию — off. Данный параметр может быть установлен только в postgresql.conf конфигурационном файле или в командной строке запуска сервера. Если этот параметр изменяется во время работы процесса WAL-receiver, этому процессу подается сигнал о завершении работы, после чего ожидается его перезапуск с новым значением параметра.

wal_receiver_status_interval (integer) #

Определяет минимальную частоту, с которой процесс-приемник WAL на резервном сервере должен отправлять информацию о ходе репликации основному или вышестоящему резервному серверу, где оно может быть просмотрено через pg_stat_replication представление. Резервный сервер передает сведения о последней записанной позиции в журнале упреждающей записи (WAL), последней позиции, сброшенной на диск, и последней примененной позиции. Значение данного параметра определяет максимальный интервал времени между отчетами. Обновления отправляются при каждом изменении позиций записи или сброса на диск, либо с периодичностью, указанной в данном параметре, если задано ненулевое значение. В некоторых случаях обновления отправляются без учета данного параметра; например, при завершении обработки существующего журнала WAL или при условии, что synchronous_commit установлено в значение remote_apply. Таким образом, позиция применения может незначительно отставать от фактической позиции. Если данное значение указано без указания единиц измерения, оно интерпретируется как значение в секундах. Значение по умолчанию — 10 секунд. Данный параметр может быть задан только в конфигурационном postgresql.conf конфигурационном файле или в командной строке сервера командной строке.

hot_standby_feedback (boolean) #

Определяет, будет ли сервер в режиме горячего резерва отправлять данные обратной связи основному серверу или вышестоящий резервный сервер о запросах, выполняемых в данный момент на резервном сервере. Данный параметр может использоваться для исключения отмен запросов, вызванных записями очистки, однако при определенных нагрузках это может привести к разрастанию базы данных на основном сервере. Сообщения обратной связи будут отправляться не чаще одного раза в wal_receiver_status_interval. Значение по умолчанию — off. Данный параметр может быть задан только в postgresql.conf конфигурационном файле или в командной строке запуска сервера.

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

wal_receiver_timeout (integer) #

Завершать соединения репликации, остающиеся неактивными в течение времени, превышающего данное значение. Это позволяет принимающему резервному серверу обнаруживать сбой основного узла или сетевой сбой. Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Значение по умолчанию — 60 секунд. Нулевое значение параметра отключает механизм контроля времени ожидания. Данный параметр может быть задан только в конфигурационном postgresql.conf конфигурационном файле или в командной строке сервера командная строка.

wal_retrieve_retry_interval (integer) #

Определяет время ожидания резервного сервера при отсутствии доступных данных WAL из каких-либо источников (потоковая репликация, локальный pg_wal или архив WAL) перед повторной попыткой получения данных WAL. Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Значение по умолчанию составляет 5 секунд. Данный параметр может быть задан только в конфигурационном postgresql.conf конфигурационном файле или в командной строке сервера командная строка.

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

В механизме логической репликации данный параметр также ограничивает частоту перезапуска завершившегося со сбоем рабочего процесса применения репликации.

recovery_min_apply_delay (integer) #

По умолчанию резервный сервер максимально быстро воспроизводит записи WAL, получаемые с передающего сервера. Использование копии данных с задержкой по времени может быть полезным, так как это позволяет исправлять ошибки, связанные с потерей или повреждением данных. Данный параметр позволяет отложить восстановление на указанный интервал времени времени. Например, если установить данный параметр в значение 5min, то резервный сервер будет воспроизводить фиксацию каждой транзакции только тогда, когда системное время на резервном сервере будет как минимум на пять минут превышать время фиксации, переданное основным сервером. Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Значение по умолчанию — ноль, что не добавляет задержки.

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

Задержка происходит только при обработке записей WAL для фиксации транзакций. Остальные записи воспроизводятся максимально быстро, что не является проблемой, так как правила видимости MVCC гарантируют, что результаты их выполнения не будут видны до тех пор, пока не будет применена соответствующая запись о фиксации транзакции (commit).

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

Записи WAL должны храниться на резервном сервере до тех пор, пока они не будут готовы к применению. Следовательно, более длительные задержки приведут к большему накоплению WAL-файлов, что увеличит требования к дисковому пространству для каталога pg_wal резервного сервера.

Данный параметр предназначен для использования в конфигурациях с потоковой репликацией; тем не менее, если данный параметр задан, он будет учитываться во всех случаях, за исключением аварийного восстановления. hot_standby_feedback будет отложено при использовании данной функции, что может привести к избыточному росту объема данных (bloat) на основном сервере; совместное использование этих механизмов требует осторожности.

Предупреждение

Данная настройка влияет на синхронную репликацию в случае, когда synchronous_commit устанавливается в значение remote_apply; каждый COMMIT будет ожидать применения.

Данный параметр может быть установлен только в postgresql.conf файле или в командной строке сервера.

sync_replication_slots (boolean) #

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

По умолчанию данный параметр отключен. Данный параметр может быть задан только в postgresql.conf конфигурационном файле или в командной строке запуска сервера.

3.4.6.4. Подписчики #

Данные параметры управляют поведением подписчика логической репликации. Их значения на стороне издателя не учитываются. См. Раздел 3.14.11 для получения дополнительных сведений.

max_replication_slots (integer) #

Определяет количество источников репликации (см. Глава 5.13), которые могут отслеживаться одновременно, фактически ограничивая количество подписок на логическую репликацию, которые могут быть созданы на сервере. Установка значения данного параметра ниже текущего количества отслеживаемых источников репликации (отображаемого в pg_replication_origin_status) препятствует запуску сервера. max_replication_slots должен иметь значение не меньше количества подписок, добавляемых на стороне подписчика, плюс определенный резерв для синхронизации таблиц.

Обратите внимание, что данный параметр также применяется на передающем сервере, но с иное значение.

max_logical_replication_workers (integer) #

Определяет максимальное количество рабочих процессов логической репликации. К ним относятся основные процессы применения, процессы параллельного применения и процессы синхронизации таблиц.

Рабочие процессы логической репликации выделяются из пула, определяемого параметром max_worker_processes.

Значение по умолчанию — 4. Данный параметр может быть установлен только при запуске сервера.

max_sync_workers_per_subscription (integer) #

Максимальное количество рабочих процессов синхронизации на одну подписку. Этот параметр управляет уровнем параллелизма при начальном копировании данных в процессе инициализации подписки или при добавлении новых таблиц.

В настоящее время для одной таблицы может быть назначен только один рабочий процесс синхронизации.

Рабочие процессы синхронизации выделяются из пула, определяемого параметром max_logical_replication_workers.

Значение по умолчанию — 2. Данный параметр может быть задан только в postgresql.conf файле или в командной строка.

max_parallel_apply_workers_per_subscription (integer) #

Максимальное количество параллельных рабочих процессов применения для каждой подписки. Данный параметр управляет степенью параллелизма при потоковой передаче незавершенных транзакций с параметром подписки streaming = parallel.

Параллельные рабочие процессы применения выбираются из пула, определяемого параметром max_logical_replication_workers.

Значение по умолчанию — 2. Данный параметр может быть задан только в postgresql.conf файле или в командной строка.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению