Package org.postgresql.replication

# Class LogSequenceNumber

java.lang.Object
org.postgresql.replication.LogSequenceNumber

All Implemented Interfaces:
  `Comparable<LogSequenceNumber>`

public final class LogSequenceNumber extends Object implements Comparable<LogSequenceNumber>
LSN (Log Sequence Number) data which is a pointer to a location in the XLOG.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final LogSequenceNumber`
`INVALID_LSN`
Zero is used indicate an invalid pointer.

## Method Summary

Modifier and Type
Method
Description
`long`
`asLong()`
`String`
`asString()`
`int`
`compareTo(LogSequenceNumber o)`
`boolean`
`equals(@Nullable Object o)`
`int`
`hashCode()`
`String`
`toString()`
`static LogSequenceNumber`
`valueOf(long value)`
`static LogSequenceNumber`
`valueOf(String strValue)`
Create LSN instance by string represent LSN.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### INVALID_LSN

public static final LogSequenceNumber INVALID_LSN
Zero is used indicate an invalid pointer. Bootstrap skips the first possible WAL segment, initializing the first WAL page at XLOG_SEG_SIZE, so no XLOG record can begin at zero.

## Method Details

### valueOf

public static LogSequenceNumber valueOf(long value)

Parameters:
  `value` - numeric represent position in the write-ahead log stream
Returns:
  not null LSN instance

### valueOf

public static LogSequenceNumber valueOf(String strValue)
Create LSN instance by string represent LSN.

Parameters:
  `strValue` - not null string as two hexadecimal numbers of up to 8 digits each, separated by a slash. For example `16/3002D50`, `0/15D68C50`
Returns:
  not null LSN instance where if specified string represent have not valid form `INVALID_LSN`

### asLong

public long asLong()

Returns:
  Long represent position in the write-ahead log stream

### asString

public String asString()

Returns:
  String represent position in the write-ahead log stream as two hexadecimal numbers of up to 8 digits each, separated by a slash. For example `16/3002D50`, `0/15D68C50`

### equals

public boolean equals(@Nullable Object o)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### compareTo

public int compareTo(LogSequenceNumber o)

Specified by:
  `compareTo` in interface `Comparable<LogSequenceNumber>`