WAITLSN

WAITLSN — ожидать воспроизведения целевого LSN

Синтаксис

WAITLSN 'LSN' [ INFINITELY ]
WAITLSN 'LSN' TIMEOUT время_ожидания
WAITLSN 'LSN' NOWAIT

Описание

WAITLSN предоставляет простой межпроцессный механизм ожидания целевого LSN (последовательного номера записи в журнале) на ведомых узлах в схемах синхронной репликации ведущий-ведомый Postgres Pro. Команда WAITLSN ждёт воспроизведения заданного LSN. По умолчанию время ожидания неограниченно. Ожидание можно прервать, нажав Ctrl+C или остановив сервер postgres. Вы также можете задать время ожидания, добавив указание TIMEOUT, или проверить состояние целевого LSN без ожидания, воспользовавшись указанием NOWAIT.

Параметры

LSN

Указывает последовательный номер записи в журнале, воспроизведение которой ожидается.

INFINITELY

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

TIMEOUT время_ожидания

Ограничивает время ожидания воспроизведения LSN. В параметре время_ожидания указывается целое число миллисекунд.

NOWAIT

С этим указанием команда сообщает, был ли уже воспроизведён заданный LSN, без ожидания.

Примеры

Выполнение WAITLSN в psql с ограничением времени до 10000 миллисекунд:

WAITLSN '0/3F07A6B1' TIMEOUT 10000;
NOTICE:  LSN is not reached. Try to increase wait time.
LSN reached
-------------
 f
(1 row)

Ожидание воспроизведения указанного LSN:

WAITLSN '0/3F07A611';
LSN reached
-------------
 t
(1 row)

Ограничение времени ожидания LSN до 500000 миллисекунд и отмена команды:

WAITLSN '0/3F0FF791' TIMEOUT 500000;
^CCancel request sent
NOTICE:  LSN is not reached. Try to increase wait time.
ERROR:  canceling statement due to user request
 LSN reached
-------------
 f
(1 row)

Совместимость

Оператор WAITLSN отсутствует в стандарте SQL.