qhb_recvlogical - управление потоками логического декодирования QHB

qhb_recvlogical - управление потоками логического декодирования QHB

Описание

qhb_recvlogical управляет слотами репликации с логическим декодированием и передает данные из таких слотов репликации.

Он создает соединение в режиме репликации, поэтому к нему применяются те же ограничения, что и для qhb_receivewal, плюс ограничения для логической репликации.

qhb_recvlogical не имеет эквивалента режимам просмотра и получения интерфейса SQL логического декодирования. Утилита отправляет подтверждения воспроизведения для данных в "ленивом режиме", по мере их получения и при чистом выходе. Чтобы проверить ожидающие данные в слоте, не используя их, используйте pg_logical_slot_peek_changes.

Синтаксис

qhb_recvlogical [option...]

Параметры

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

Возможные действия

--create-slot Создайте новый слот логической репликации с именем, заданным параметром --slot, используя плагин вывода, заданный параметром --plugin, для базы данных, заданной параметром --dbname.

--drop-slot Удалить слот репликации с именем, указанным параметром --slot, затем выйти.

--start Начать запись потока в слот логической репликации, указанный в параметре --slot, продолжая до сигнала отмены. Если поток изменений на стороне сервера заканчивается отключением или отключением сервера, повторите цикл, если не указан параметр --no-loop.

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

--create-slot и --start могут быть указаны вместе. --drop-slot не может быть объединено с другим действием.

Options

Следующие параметры командной строки управляют расположением и форматом вывода и другим поведением репликации:

АргументОписание
-S, --slot=SLOTNAMEИмя слота логической репликации для режимов --create-slot, --create-slot, --drop-slot.
-E, --endpos=LSNАвтоматически останавливать репликацию и выходить с кодом выхода 0, когда приём достигает указанного номера LSN. Подробнее
-f, --file=FILEЗаписать полученные и декодированные данные транзакций в файл. Используйте -(минус) для стандартного вывода (stdout).
-F --fsync-interval=SECSЧастота вызова fsync() Подробнее
--if-not-existsНе создавать ошибку, если --create-slot указан, а слот с таким именем уже существует.
-I, --startpos=LSNВ режиме --start начать репликацию с указанного номера LSN. Игнорируется в других режимах.
-n, --no-loopЗавершить работу с ошибкой, и не выполнять новую попытку подключения при ошибках соединения.
-o, --option=NAME[=VALUE]Передать пару Name:Value в плагин вывода, указание Value опционально. Существующие параметры и их поведение зависит от используемого выходного плагина.
-P, --plugin=PLUGINИспользовать указанный плагин вывода логического декодирования при создании слота репликации. Не действует, если слот уже существует.
-s, --status-interval=SECSИнтервал отправки пакетов состояния. Аналогично параметру qhb_receivewal - status interval

End position

-E lsn, --endpos=lsn Автоматически останавливать репликацию и выходить с кодом выхода 0, когда приём достигает указанного номера LSN. Если есть запись с LSN, равным lsn, запись будет обработана.

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

fsync-interval

-F SECS, --fsync-interval=SECS Определяет, как часто qhb_recvlogical должен вызывать вызовы fsync() чтобы убедиться, что выходной файл безопасно записан на диск. Сервер иногда запрашивает у клиента очистку и сообщает серверу о положении очистки.

Этот параметр необходим для более частого выполнения сбросов. Задание интервала 0 отключает вызовы fsync() полностью, в то же время сообщая о ходе выполнения на сервер. В этом случае данные могут быть потеряны в случае сбоя.

CONNECTION OPTIONS

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

АргументОписание
-d, --dbname=DBNAMEИмя базы данных для подключения.
-h, --host=HOSTNAMEИмя хоста, на котором работает сервер. Если значение начинается с косой черты, оно используется в качестве каталога для сокета домена Unix. Значение по умолчанию берется из переменной среды PGHOST, далее предпринимается попытка подключения через сокет домена Unix.
-p, --port=PORTTCP порт или расширение файла локального сокета домена Unix. По умолчанию берётся переменная среды PGPORT, или порт заданный при компиляции.
-U, --username=NAMEИмя пользователя для подключения.
-w, --no-passwordНе запрашивать ввод пароля. Если серверу требуется аутентификация по паролю, а пароль недоступен другими способами, такими как файл .pgpass, попытка подключения завершится неудачно. Эта опция может быть полезна в пакетных заданиях и сценариях, где нет ни одного пользователя для ввода пароля.
-W, --passwordАвтоматически запросить пароль, если сервер требует аутентификацию по паролю. Утилита будет пытаться подключиться, для аутентификации. В некоторых случаях стоит ввести -W чтобы избежать дополнительной попытки подключения.

COMMON OPTIONS

АргументОписание
-?, --helpПоказать справку об аргументах командной строки и выйти.
-V, --versionВывести версию утилиты и выйти.
-v, --verboseВключает подробный режим.

Окружение

Эта утилита, как и большинство других утилит QHB, использует переменные окружения, поддерживаемые libpq .

Переменная окружения PG_COLOR указывает, использовать ли цвет в диагностических сообщениях. Возможные значения always, auto, never .

Примечания

qhb_recvlogical сохранит разрешения группы для полученных файлов WAL, если разрешения группы включены в исходном кластере.

Смотрите также

qhb_receivewal