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=PORT | TCP порт или расширение файла локального сокета домена 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,
если разрешения группы включены в исходном кластере.