pg_create_physical_replication_slot
( slot_name
name
[, immediately_reserve
boolean
, temporary
boolean
] ) → record
( slot_name
name
, lsn
pg_lsn
)
Creates a new physical replication slot named slot_name
. The optional second parameter, when true
, specifies that the LSN for this replication slot be reserved immediately; otherwise the LSN is reserved on first connection from a streaming replication client. Streaming changes from a physical slot is only possible with the streaming-replication protocol — see Section 55.4. The optional third parameter, temporary
, when set to true, specifies that the slot should not be permanently stored to disk and is only meant for use by the current session. Temporary slots are also released upon any error. This function corresponds to the replication protocol command CREATE_REPLICATION_SLOT ... PHYSICAL
.
pg_drop_replication_slot
( slot_name
name
) → void
Drops the physical or logical replication slot named slot_name
. Same as replication protocol command DROP_REPLICATION_SLOT
.
pg_create_logical_replication_slot
( slot_name
name
, plugin
name
[, temporary
boolean
, twophase
boolean
] ) → record
( slot_name
name
, lsn
pg_lsn
)
Creates a new logical (decoding) replication slot named slot_name
using the output plugin plugin
. The optional third parameter, temporary
, when set to true, specifies that the slot should not be permanently stored to disk and is only meant for use by the current session. Temporary slots are also released upon any error. The optional fourth parameter, twophase
, when set to true, specifies that the decoding of prepared transactions is enabled for this slot. A call to this function has the same effect as the replication protocol command CREATE_REPLICATION_SLOT ... LOGICAL
.
pg_copy_physical_replication_slot
( src_slot_name
name
, dst_slot_name
name
[, temporary
boolean
] ) → record
( slot_name
name
, lsn
pg_lsn
)
Copies an existing physical replication slot named src_slot_name
to a physical replication slot named dst_slot_name
. The copied physical slot starts to reserve WAL from the same LSN as the source slot. temporary
is optional. If temporary
is omitted, the same value as the source slot is used. Copy of an invalidated slot is not allowed.
pg_copy_logical_replication_slot
( src_slot_name
name
, dst_slot_name
name
[, temporary
boolean
[, plugin
name
]] ) → record
( slot_name
name
, lsn
pg_lsn
)
Copies an existing logical replication slot named src_slot_name
to a logical replication slot named dst_slot_name
, optionally changing the output plugin and persistence. The copied logical slot starts from the same LSN as the source logical slot. Both temporary
and plugin
are optional; if they are omitted, the values of the source slot are used. Copy of an invalidated slot is not allowed.
pg_logical_slot_get_changes
( slot_name
name
, upto_lsn
pg_lsn
, upto_nchanges
integer
, VARIADIC
options
text[]
) → setof record
( lsn
pg_lsn
, xid
xid
, data
text
)
Returns changes in the slot slot_name
, starting from the point from which changes have been consumed last. If upto_lsn
and upto_nchanges
are NULL, logical decoding will continue until end of WAL. If upto_lsn
is non-NULL, decoding will include only those transactions which commit prior to the specified LSN. If upto_nchanges
is non-NULL, decoding will stop when the number of rows produced by decoding exceeds the specified value. Note, however, that the actual number of rows returned may be larger, since this limit is only checked after adding the rows produced when decoding each new transaction commit.
pg_logical_slot_peek_changes
( slot_name
name
, upto_lsn
pg_lsn
, upto_nchanges
integer
, VARIADIC
options
text[]
) → setof record
( lsn
pg_lsn
, xid
xid
, data
text
)
Behaves just like the pg_logical_slot_get_changes()
function, except that changes are not consumed; that is, they will be returned again on future calls.
pg_logical_slot_get_binary_changes
( slot_name
name
, upto_lsn
pg_lsn
, upto_nchanges
integer
, VARIADIC
options
text[]
) → setof record
( lsn
pg_lsn
, xid
xid
, data
bytea
)
Behaves just like the pg_logical_slot_get_changes()
function, except that changes are returned as bytea
.
pg_logical_slot_peek_binary_changes
( slot_name
name
, upto_lsn
pg_lsn
, upto_nchanges
integer
, VARIADIC
options
text[]
) → setof record
( lsn
pg_lsn
, xid
xid
, data
bytea
)
Behaves just like the pg_logical_slot_peek_changes()
function, except that changes are returned as bytea
.
pg_replication_slot_advance
( slot_name
name
, upto_lsn
pg_lsn
) → record
( slot_name
name
, end_lsn
pg_lsn
)
Advances the current confirmed position of a replication slot named slot_name
. The slot will not be moved backwards, and it will not be moved beyond the current insert location. Returns the name of the slot and the actual position that it was advanced to. The updated slot position information is written out at the next checkpoint if any advancing is done. So in the event of a crash, the slot may return to an earlier position.
pg_replication_origin_create
( node_name
text
) → oid
Creates a replication origin with the given external name, and returns the internal ID assigned to it.
pg_replication_origin_drop
( node_name
text
) → void
Deletes a previously-created replication origin, including any associated replay progress.
pg_replication_origin_oid
( node_name
text
) → oid
Looks up a replication origin by name and returns the internal ID. If no such replication origin is found, NULL
is returned.
pg_replication_origin_session_setup
( node_name
text
) → void
Marks the current session as replaying from the given origin, allowing replay progress to be tracked. Can only be used if no origin is currently selected. Use pg_replication_origin_session_reset
to undo.
pg_replication_origin_session_reset
() → void
Cancels the effects of pg_replication_origin_session_setup()
.
pg_replication_origin_session_is_setup
() → boolean
Returns true if a replication origin has been selected in the current session.
pg_replication_origin_session_progress
( flush
boolean
) → pg_lsn
Returns the replay location for the replication origin selected in the current session. The parameter flush
determines whether the corresponding local transaction will be guaranteed to have been flushed to disk or not.
pg_replication_origin_xact_setup
( origin_lsn
pg_lsn
, origin_timestamp
timestamp with time zone
) → void
Marks the current transaction as replaying a transaction that has committed at the given LSN and timestamp. Can only be called when a replication origin has been selected using pg_replication_origin_session_setup
.
pg_replication_origin_xact_reset
() → void
Cancels the effects of pg_replication_origin_xact_setup()
.
pg_replication_origin_advance
( node_name
text
, lsn
pg_lsn
) → void
Sets replication progress for the given node to the given location. This is primarily useful for setting up the initial location, or setting a new location after configuration changes and similar. Be aware that careless use of this function can lead to inconsistently replicated data.
pg_replication_origin_progress
( node_name
text
, flush
boolean
) → pg_lsn
Returns the replay location for the given replication origin. The parameter flush
determines whether the corresponding local transaction will be guaranteed to have been flushed to disk or not.
pg_logical_emit_message
( transactional
boolean
, prefix
text
, content
text
) → pg_lsn
pg_logical_emit_message
( transactional
boolean
, prefix
text
, content
bytea
) → pg_lsn
Emits a logical decoding message. This can be used to pass generic messages to logical decoding plugins through WAL. The transactional
parameter specifies if the message should be part of the current transaction, or if it should be written immediately and decoded as soon as the logical decoder reads the record. The prefix
parameter is a textual prefix that can be used by logical decoding plugins to easily recognize messages that are interesting for them. The content
parameter is the content of the message, given either in text or binary form.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4