patroni.scripts.wale_restore module

class patroni.scripts.wale_restore.ExitCode(value)

Bases: enum.IntEnum

An enumeration.

FAIL = 2

Don’t try again unless configuration changes

RETRY_LATER = 1

External issue, retry later

SUCCESS = 0

Succeeded

class patroni.scripts.wale_restore.WALEConfig(env_dir, threshold_mb, threshold_pct, cmd)

Bases: NamedTuple

cmd: List[str]

Alias for field number 3

env_dir: str

Alias for field number 0

threshold_mb: int

Alias for field number 1

threshold_pct: int

Alias for field number 2

class patroni.scripts.wale_restore.WALERestore(scope: str, datadir: str, connstring: str, env_dir: str, threshold_mb: int, threshold_pct: int, use_iam: int, no_leader: bool, retries: int)

Bases: object

create_replica_with_s3()int
fix_subdirectory_path_if_broken(dirname: str)bool
run()int

Creates a new replica using WAL-E

Returns

0 = Success 1 = Error, try again 2 = Error, don’t try again

Return type

ExitCode

should_use_s3_to_create_replica() → Optional[bool]

determine whether it makes sense to use S3 and not pg_basebackup

patroni.scripts.wale_restore.get_major_version(data_dir: str)float
patroni.scripts.wale_restore.main()int
patroni.scripts.wale_restore.repr_size(n_bytes: float)str
>>> repr_size(1000)
'1000 Bytes'
>>> repr_size(8257332324597)
'7.5 TiB'
patroni.scripts.wale_restore.size_as_bytes(size: float, prefix: str)int
>>> size_as_bytes(7.5, 'T')
8246337208320