patroni.postgresql.rewind module¶
-
class
patroni.postgresql.rewind.REWIND_STATUS¶ Bases:
enum.IntEnumAn enumeration.
-
CHECK= 2¶
-
CHECKPOINT= 1¶
-
FAILED= 6¶
-
INITIAL= 0¶
-
NEED= 3¶
-
NOT_NEED= 4¶
-
SUCCESS= 5¶
-
-
class
patroni.postgresql.rewind.Rewind(postgresql: patroni.postgresql.Postgresql)¶ Bases:
object-
can_rewind¶ check if pg_rewind executable is there and that pg_controldata indicates we have either wal_log_hints or checksums turned on
-
can_rewind_or_reinitialize_allowed¶
-
static
check_leader_has_run_checkpoint(conn_kwargs: Dict[str, Any]) → Optional[str]¶
-
static
check_leader_is_not_in_recovery(conn_kwargs: Dict[str, Any]) → Optional[bool]¶
-
checkpoint_after_promote() → bool¶
-
cleanup_archive_status() → None¶
-
static
configuration_allows_rewind(data: Dict[str, str]) → bool¶
-
enabled¶
-
ensure_checkpoint_after_promote(wakeup: Callable[[...], Any]) → None¶ After promote issue a CHECKPOINT from a new thread and asynchronously check the result. In case if CHECKPOINT failed, just check that timeline in pg_control was updated.
-
ensure_clean_shutdown() → Optional[bool]¶
-
execute(leader: Union[patroni.dcs.Leader, patroni.dcs.RemoteMember]) → Optional[bool]¶
-
executed¶
-
failed¶
-
is_needed¶
-
pg_rewind(r: Dict[str, Any]) → bool¶
-
read_postmaster_opts() → Dict[str, str]¶ returns the list of option names/values from postgres.opts, Empty dict if read failed or no file
-
reset_state() → None¶
-
rewind_or_reinitialize_needed_and_possible(leader: Union[patroni.dcs.Leader, patroni.dcs.RemoteMember, None]) → bool¶
-
should_remove_data_directory_on_diverged_timelines¶
-
single_user_mode(communicate: Optional[Dict[str, Any]] = None, options: Optional[Dict[str, str]] = None) → Optional[int]¶ run a given command in a single-user mode. If the command is empty - then just start and stop
-
trigger_check_diverged_lsn() → None¶
-