## WAITLSN

WAITLSN — wait for the target LSN to be replayed

## Synopsis

    WAITLSN 'LSN' [ INFINITELY ]
    WAITLSN 'LSN' TIMEOUT wait_time
    WAITLSN 'LSN' NOWAIT

## Description

`WAITLSN` provides a simple interprocess communication mechanism to wait for the target log sequence number (LSN) on standby in Postgres Pro databases with master-standby asynchronous replication. When run with the `LSN` option, the `WAITLSN` command waits for the specified LSN to be replayed. By default, wait time is unlimited. Waiting can be interrupted using `Ctrl+C`, or by shutting down the `postgres` server. You can also limit the wait time using the `TIMEOUT` option, or check the target LSN status immediately using the `NOWAIT` option.

## Parameters

`LSN`

  Specify the target log sequence number to wait for.

INFINITELY

  Wait until the target LSN is replayed on standby. This is an optional parameter reinforcing the default behavior.

TIMEOUT `wait_time`

  Limit the time to wait for the LSN to be replayed. The specified `wait_time` must be an integer and is measured in milliseconds.

NOWAIT

  Report whether the target LSN has been replayed already, without any waiting.

## Examples

Run `WAITLSN` from psql, limiting wait time to 10000 milliseconds:

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

Wait until the specified LSN is replayed:

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

Limit LSN wait time to 500000 milliseconds, and then cancel the command:

    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)

## Compatibility

There is no `WAITLSN` statement in the SQL standard.