WAITLSN

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

Синтаксис

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

Описание

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

Важно

Оператор WAITLSN считается устаревшим.

Параметры

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.