patroni package
Subpackages
- patroni.dcs package
- Submodules
- patroni.dcs.consul module
- patroni.dcs.etcd module
- patroni.dcs.etcd3 module
AuthFailedAuthNotEnabledAuthOldRevisionDeadlineExceededEtcd3Etcd3ClientEtcd3ClientErrorEtcd3ErrorEtcd3ExceptionEtcd3WatchCanceledFailedPreconditionGRPCCodeInvalidArgumentInvalidAuthTokenKVCacheLeaseNotFoundNotFoundPatroniEtcd3ClientPermissionDeniedUnavailableUnknownUnsupportedEtcdVersionUserEmpty_handle_auth_errors()_raise_for_data()base64_decode()base64_encode()build_range_request()prefix_range_end()to_bytes()
- patroni.dcs.exhibitor module
- patroni.dcs.kubernetes module
- patroni.dcs.raft module
- patroni.dcs.zookeeper module
- Module contents
AbstractDCSAbstractDCS._CONFIGAbstractDCS._FAILOVERAbstractDCS._FAILSAFEAbstractDCS._HISTORYAbstractDCS._INITIALIZEAbstractDCS._LEADERAbstractDCS._LEADER_OPTIMEAbstractDCS._MEMBERSAbstractDCS._OPTIMEAbstractDCS._STATUSAbstractDCS._SYNCAbstractDCS.__get_postgresql_cluster()AbstractDCS.__init__()AbstractDCS._abc_implAbstractDCS._build_retain_slots()AbstractDCS._delete_leader()AbstractDCS._get_mpp_cluster()AbstractDCS._load_cluster()AbstractDCS._mpp_cluster_loader()AbstractDCS._postgresql_cluster_loader()AbstractDCS._set_loop_wait()AbstractDCS._update_leader()AbstractDCS._write_failsafe()AbstractDCS._write_leader_optime()AbstractDCS._write_status()AbstractDCS.acquire_leader_lock()AbstractDCS.attempt_to_acquire_leader()AbstractDCS.cancel_initialization()AbstractDCS.client_path()AbstractDCS.clusterAbstractDCS.config_pathAbstractDCS.delete_cluster()AbstractDCS.delete_leader()AbstractDCS.delete_sync_state()AbstractDCS.failover_pathAbstractDCS.failsafeAbstractDCS.failsafe_pathAbstractDCS.get_cluster()AbstractDCS.get_mpp_coordinator()AbstractDCS.history_pathAbstractDCS.initialize()AbstractDCS.initialize_pathAbstractDCS.is_mpp_coordinator()AbstractDCS.last_seenAbstractDCS.leader_optime_pathAbstractDCS.leader_pathAbstractDCS.loop_waitAbstractDCS.manual_failover()AbstractDCS.member_pathAbstractDCS.members_pathAbstractDCS.mppAbstractDCS.reload_config()AbstractDCS.reset_cluster()AbstractDCS.set_config_value()AbstractDCS.set_failover_value()AbstractDCS.set_history_value()AbstractDCS.set_retry_timeout()AbstractDCS.set_sync_state_value()AbstractDCS.set_ttl()AbstractDCS.status_pathAbstractDCS.sync_pathAbstractDCS.sync_state()AbstractDCS.take_leader()AbstractDCS.touch_member()AbstractDCS.ttlAbstractDCS.update_leader()AbstractDCS.watch()AbstractDCS.write_failsafe()AbstractDCS.write_leader_optime()AbstractDCS.write_status()AbstractDCS.write_sync_state()
ClusterCluster.__permanent_logical_slotsCluster.__permanent_slotsCluster._get_members_slots()Cluster._get_permanent_slots()Cluster._has_permanent_logical_slots()Cluster._merge_permanent_slots()Cluster.empty()Cluster.get_clone_member()Cluster.get_member()Cluster.get_replication_slots()Cluster.get_slot_name_on_primary()Cluster.has_member()Cluster.has_permanent_slots()Cluster.is_empty()Cluster.is_logical_slot()Cluster.is_physical_slot()Cluster.is_unlocked()Cluster.leader_nameCluster.maybe_filter_permanent_slots()Cluster.min_versionCluster.permanent_physical_slotsCluster.should_enforce_hot_standby_feedback()Cluster.slotsCluster.timeline
ClusterConfigFailoverLeaderMemberRemoteMemberReturnFalseExceptionStatusSyncStateSyncState._asdict()SyncState._field_defaultsSyncState._fieldsSyncState._make()SyncState._replace()SyncState._str_to_list()SyncState.empty()SyncState.from_node()SyncState.is_emptySyncState.leaderSyncState.leader_matches()SyncState.matches()SyncState.membersSyncState.quorumSyncState.sync_standbySyncState.versionSyncState.voters
TimelineHistorycatch_return_false_exception()dcs_modules()get_dcs()iter_dcs_classes()parse_connection_string()slot_name_from_member_name()
- Submodules
- patroni.postgresql package
- Subpackages
- Submodules
- patroni.postgresql.bootstrap module
- patroni.postgresql.callback_executor module
- patroni.postgresql.cancellable module
- patroni.postgresql.config module
- patroni.postgresql.connection module
- patroni.postgresql.misc module
- patroni.postgresql.postmaster module
- patroni.postgresql.rewind module
- patroni.postgresql.slots module
- patroni.postgresql.sync module
- patroni.postgresql.validator module
BoolEnumEnumBoolIntegerInvalidGucValidatorsFileNumberRealStringValidatorFactoryValidatorFactoryInvalidSpecValidatorFactoryInvalidTypeValidatorFactoryNoType_Transformable_get_postgres_guc_validators()_load_postgres_gucs_validators()_read_postgres_gucs_validators_file()_transform_parameter_value()transform_postgresql_parameter_value()transform_recovery_parameter_value()
- Module contents
PgIsReadyStatusPostgresqlPostgresql.POSTMASTER_START_TIMEPostgresql.TL_LSNPostgresql.__init__()Postgresql._before_stop()Postgresql._cluster_info_state_get()Postgresql._do_before_stop()Postgresql._do_stop()Postgresql._get_gucs()Postgresql._pre_promote()Postgresql._query()Postgresql._version_file_exists()Postgresql._wait_for_connection_close()Postgresql._wait_promote()Postgresql._wal_position()Postgresql.available_gucsPostgresql.call_nowait()Postgresql.callbackPostgresql.can_advance_slotsPostgresql.can_create_replica_without_replication_connection()Postgresql.cb_calledPostgresql.check_for_startup()Postgresql.check_startup_state_changed()Postgresql.checkpoint()Postgresql.cluster_info_queryPostgresql.configure_server_parameters()Postgresql.connection()Postgresql.controldata()Postgresql.create_replica_methodsPostgresql.data_dirPostgresql.data_directory_empty()Postgresql.databasePostgresql.enforce_hot_standby_feedbackPostgresql.ensure_major_version_is_known()Postgresql.follow()Postgresql.get_guc_value()Postgresql.get_history()Postgresql.get_major_version()Postgresql.get_postgres_role_from_data_directory()Postgresql.get_primary_timeline()Postgresql.get_replica_timeline()Postgresql.get_replication_connection_cursor()Postgresql.handle_parameter_change()Postgresql.initdb()Postgresql.is_healthy()Postgresql.is_primary()Postgresql.is_running()Postgresql.is_starting()Postgresql.last_operation()Postgresql.latest_checkpoint_locations()Postgresql.lsn_namePostgresql.major_versionPostgresql.move_data_directory()Postgresql.parse_wal_record()Postgresql.pending_restart_reasonPostgresql.pg_control_exists()Postgresql.pg_control_timeline()Postgresql.pg_ctl()Postgresql.pg_isready()Postgresql.pg_stat_replication()Postgresql.pg_tblspc_realpaths()Postgresql.pg_wal_realpath()Postgresql.pgcommand()Postgresql.postmaster_start_time()Postgresql.primary_conninfo()Postgresql.primary_slot_name()Postgresql.promote()Postgresql.query()Postgresql.receive_lsn()Postgresql.received_timeline()Postgresql.reload()Postgresql.reload_config()Postgresql.remove_data_directory()Postgresql.replay_lsn()Postgresql.replay_paused()Postgresql.replica_cached_timeline()Postgresql.replica_method_can_work_without_replication_connection()Postgresql.replica_method_options()Postgresql.replication_state()Postgresql.replication_state_from_parameters()Postgresql.reset_cluster_info_state()Postgresql.restart()Postgresql.resume_wal_replay()Postgresql.rolePostgresql.schedule_sanity_checks_after_pause()Postgresql.server_versionPostgresql.set_enforce_hot_standby_feedback()Postgresql.set_pending_restart_reason()Postgresql.set_role()Postgresql.set_state()Postgresql.slots()Postgresql.start()Postgresql.statePostgresql.stop()Postgresql.supports_multiple_syncPostgresql.supports_quorum_commitPostgresql.synchronous_commit()Postgresql.synchronous_standby_names()Postgresql.sysidPostgresql.terminate_postmaster()Postgresql.terminate_starting_postmaster()Postgresql.time_in_state()Postgresql.timeline_wal_position()Postgresql.wait_for_port_open()Postgresql.wait_for_startup()Postgresql.wal_dirPostgresql.wal_flushPostgresql.wal_namePostgresql.waldump()
null_context()
- patroni.scripts package
- patroni.watchdog package
Submodules
- patroni.api module
RestApiHandlerRestApiHandler.__init__()RestApiHandler._read_json_content()RestApiHandler._readiness()RestApiHandler._write_json_response()RestApiHandler._write_status_code_only()RestApiHandler._write_status_response()RestApiHandler.do_DELETE_restart()RestApiHandler.do_DELETE_switchover()RestApiHandler.do_GET()RestApiHandler.do_GET_cluster()RestApiHandler.do_GET_config()RestApiHandler.do_GET_failsafe()RestApiHandler.do_GET_history()RestApiHandler.do_GET_liveness()RestApiHandler.do_GET_metrics()RestApiHandler.do_GET_patroni()RestApiHandler.do_GET_readiness()RestApiHandler.do_HEAD()RestApiHandler.do_OPTIONS()RestApiHandler.do_PATCH_config()RestApiHandler.do_POST_citus()RestApiHandler.do_POST_failover()RestApiHandler.do_POST_failsafe()RestApiHandler.do_POST_mpp()RestApiHandler.do_POST_reinitialize()RestApiHandler.do_POST_reload()RestApiHandler.do_POST_restart()RestApiHandler.do_POST_sigterm()RestApiHandler.do_POST_switchover()RestApiHandler.do_PUT_config()RestApiHandler.get_postgresql_status()RestApiHandler.handle_one_request()RestApiHandler.is_failover_possible()RestApiHandler.log_message()RestApiHandler.parse_request()RestApiHandler.parse_schedule()RestApiHandler.poll_failover_result()RestApiHandler.query()RestApiHandler.version_string()RestApiHandler.write_response()
RestApiServerRestApiServer.__has_dual_stack()RestApiServer.__httpserver_init()RestApiServer.__init__()RestApiServer.__initialize()RestApiServer.__members_ips()RestApiServer.__resolve_ips()RestApiServer._build_allowlist()RestApiServer._set_fd_cloexec()RestApiServer.check_access()RestApiServer.check_auth_header()RestApiServer.check_basic_auth_key()RestApiServer.construct_server_tokens()RestApiServer.get_certificate_serial_number()RestApiServer.handle_error()RestApiServer.process_request()RestApiServer.process_request_thread()RestApiServer.query()RestApiServer.reload_config()RestApiServer.reload_local_certificate()RestApiServer.shutdown()RestApiServer.shutdown_request()RestApiServer.start()
check_access()
- patroni.async_executor module
- patroni.collections module
- patroni.config module
ConfigConfig.PATRONI_CONFIG_VARIABLEConfig.__CACHE_FILENAMEConfig.__DEFAULT_CONFIGConfig.__get_and_maybe_adjust_int_value()Config.__init__()Config._build_effective_configuration()Config._build_environment_configuration()Config._load_cache()Config._load_config_file()Config._load_config_path()Config._process_postgresql_parameters()Config._safe_copy_dynamic_configuration()Config._validate_and_adjust_timeouts()Config._validate_contradictory_tags()Config.config_fileConfig.copy()Config.dynamic_configurationConfig.get()Config.get_default_config()Config.local_configurationConfig.reload_local_configuration()Config.save_cache()Config.set_dynamic_configuration()
default_validator()
- patroni.config_generator module
AbstractConfigGeneratorAbstractConfigGenerator.__init__()AbstractConfigGenerator._abc_implAbstractConfigGenerator._format_block()AbstractConfigGenerator._format_config()AbstractConfigGenerator._format_config_section()AbstractConfigGenerator._write_config_to_fd()AbstractConfigGenerator.generate()AbstractConfigGenerator.get_template_config()AbstractConfigGenerator.write_config()
RunningClusterConfigGeneratorRunningClusterConfigGenerator.__init__()RunningClusterConfigGenerator._abc_implRunningClusterConfigGenerator._enrich_config_from_running_instance()RunningClusterConfigGenerator._get_bin_dir_from_running_instance()RunningClusterConfigGenerator._get_connection_cursor()RunningClusterConfigGenerator._get_hba_conn_typesRunningClusterConfigGenerator._required_pg_paramsRunningClusterConfigGenerator._set_conf_files()RunningClusterConfigGenerator._set_pg_params()RunningClusterConfigGenerator._set_su_params()RunningClusterConfigGenerator.generate()
SampleConfigGeneratorgenerate_config()get_address()
- patroni.ctl module
CtlPostgresqlRolePatroniCtlExceptionPatronictlPrettyTable_do_failover_or_switchover()_get_configuration()apply_config_changes()apply_yaml_file()change_cluster_role()check_response()confirm_members_action()format_config_for_editing()format_pg_version()generate_topology()get_all_members()get_all_members_leader_first()get_any_member()get_cluster_service_info()get_cursor()get_dcs()get_members()invoke_editor()is_citus_cluster()load_config()output_members()parse_dcs()parse_scheduled()print_output()query_member()request_patroni()show_diff()temporary_file()timestamp()toggle_pause()topology_sort()wait_until_pause_is_applied()watching()
- patroni.daemon module
AbstractPatroniDaemonAbstractPatroniDaemon.__init__()AbstractPatroniDaemon._abc_implAbstractPatroniDaemon._run_cycle()AbstractPatroniDaemon._shutdown()AbstractPatroniDaemon.api_sigterm()AbstractPatroniDaemon.received_sigtermAbstractPatroniDaemon.reload_config()AbstractPatroniDaemon.run()AbstractPatroniDaemon.setup_signal_handlers()AbstractPatroniDaemon.shutdown()AbstractPatroniDaemon.sighup_handler()AbstractPatroniDaemon.sigterm_handler()
abstract_main()get_base_arg_parser()notify_systemd()
- patroni.dynamic_loader module
- patroni.exceptions module
- patroni.file_perm module
__FilePermissions__FilePermissions._FilePermissions__PG_DIR_MODE_GROUP__FilePermissions._FilePermissions__PG_DIR_MODE_OWNER__FilePermissions._FilePermissions__PG_FILE_MODE_GROUP__FilePermissions._FilePermissions__PG_FILE_MODE_OWNER__FilePermissions._FilePermissions__PG_MODE_MASK_GROUP__FilePermissions._FilePermissions__PG_MODE_MASK_OWNER__FilePermissions._FilePermissions__set_group_permissions()__FilePermissions._FilePermissions__set_owner_permissions()__FilePermissions._FilePermissions__set_umask()__FilePermissions.__init__()__FilePermissions.dir_create_mode__FilePermissions.file_create_mode__FilePermissions.orig_umask__FilePermissions.set_permissions_from_data_directory()
- patroni.global_config module
- patroni.ha module
FailsafeHaHa.__init__()Ha._delete_leader()Ha._do_reinitialize()Ha._failsafe_config()Ha._get_failover_action_name()Ha._get_node_to_follow()Ha._handle_crash_recovery()Ha._handle_dcs_error()Ha._handle_rewind_or_reinitialize()Ha._is_healthiest_node()Ha._maybe_enable_synchronous_mode()Ha._process_multisync_replication()Ha._process_quorum_replication()Ha._run_cycle()Ha._sync_replication_slots()Ha.acquire_lock()Ha.bootstrap()Ha.bootstrap_standby_leader()Ha.call_failsafe_member()Ha.cancel_initialization()Ha.check_failsafe_topology()Ha.check_timeline()Ha.clone()Ha.delete_future_restart()Ha.demote()Ha.disable_synchronous_replication()Ha.enforce_follow_remote_member()Ha.enforce_primary_role()Ha.evaluate_scheduled_restart()Ha.failsafe_is_active()Ha.fetch_node_status()Ha.fetch_nodes_statuses()Ha.follow()Ha.future_restart_scheduled()Ha.get_effective_tags()Ha.get_failover_candidates()Ha.get_remote_member()Ha.handle_long_action_in_progress()Ha.handle_starting_instance()Ha.has_lock()Ha.is_failover_possible()Ha.is_failsafe_mode()Ha.is_healthiest_node()Ha.is_lagging()Ha.is_leader()Ha.is_paused()Ha.is_quorum_commit_mode()Ha.is_standby_cluster()Ha.is_sync_standby()Ha.is_synchronous_mode()Ha.load_cluster_from_dcs()Ha.manual_failover_process_no_leader()Ha.notify_mpp_coordinator()Ha.post_bootstrap()Ha.post_recover()Ha.primary_stop_timeout()Ha.process_healthy_cluster()Ha.process_manual_failover_from_leader()Ha.process_sync_replication()Ha.process_sync_replication_prepromote()Ha.process_unhealthy_cluster()Ha.quorum_commit_mode_is_active()Ha.recover()Ha.reinitialize()Ha.release_leader_key_voluntarily()Ha.restart()Ha.restart_matches()Ha.restart_scheduled()Ha.run_cycle()Ha.schedule_future_restart()Ha.set_is_leader()Ha.set_start_timeout()Ha.should_run_scheduled_action()Ha.shutdown()Ha.sync_mode_is_active()Ha.sysid_valid()Ha.touch_member()Ha.update_cluster_history()Ha.update_failsafe()Ha.update_lock()Ha.wakeup()Ha.watch()Ha.while_not_sync_standby()
_FailsafeResponse_MemberStatus
- patroni.log module
PatroniFileHandlerPatroniLoggerPatroniLogger.DEFAULT_FORMATPatroniLogger.DEFAULT_LEVELPatroniLogger.DEFAULT_MAX_QUEUE_SIZEPatroniLogger.DEFAULT_TRACEBACK_LEVELPatroniLogger.DEFAULT_TYPEPatroniLogger.LOGGING_BROKEN_EXIT_CODEPatroniLogger.NORMAL_LOG_QUEUE_SIZEPatroniLogger.__init__()PatroniLogger._close_old_handlers()PatroniLogger._get_formatter()PatroniLogger._get_json_formatter()PatroniLogger._get_plain_formatter()PatroniLogger._is_config_changed()PatroniLogger._is_heartbeat_msg()PatroniLogger.queue_sizePatroniLogger.records_lostPatroniLogger.reload_config()PatroniLogger.run()PatroniLogger.shutdown()PatroniLogger.update_loggers()
ProxyHandlerQueueHandler_type()debug_exception()error_exception()
- patroni.psycopg module
- patroni.quorum module
QuorumErrorQuorumStateResolverQuorumStateResolver.__add_new_nodes()QuorumStateResolver.__handle_non_steady_cases()QuorumStateResolver.__handle_replication_factor_change()QuorumStateResolver.__init__()QuorumStateResolver.__remove_gone_nodes()QuorumStateResolver._generate_transitions()QuorumStateResolver.check_invariants()QuorumStateResolver.quorum_update()QuorumStateResolver.sync_update()
Transition
- patroni.raft_controller module
- patroni.request module
- patroni.tags module
- patroni.thread_pool module
- patroni.utils module
RetryRetryFailedError_sleep()apply_keepalive_limit()cluster_as_json()compare_values()convert_int_from_base_unit()convert_real_from_base_unit()convert_to_base_unit()data_directory_is_empty()deep_compare()enable_keepalive()get_conversion_table()get_major_version()get_postgres_version()is_subpath()iter_response_objects()keepalive_intvl()keepalive_socket_options()maybe_convert_from_base_unit()parse_bool()parse_int()parse_real()patch_config()polling_loop()read_stripped()split_host_port()strtod()strtol()unquote()uri()validate_directory()
- patroni.validator module
AtMostOneBinDirectoryCaseDirectoryEnumValidatorIntValidatorOptionalOrResultSchema_get_type_name()assert_()comma_separated_host_port()data_directory_empty()get_bin_name()is_ipv4_address()is_ipv6_address()populate_validate_params()validate_binary_name()validate_connect_address()validate_data_dir()validate_host_port()validate_host_port_list()validate_host_port_listen()validate_host_port_listen_multiple_hosts()validate_log_field()validate_log_format()validate_watchdog_mode()
- patroni.version module
Module contents
Define general variables and functions for patroni.
- var PATRONI_ENV_PREFIX:
prefix for Patroni related configuration environment variables.
- var KUBERNETES_ENV_PREFIX:
prefix for Kubernetes related configuration environment variables.
- var MIN_PSYCOPG2:
minimum version of
psycopg2required by Patroni to work.- var MIN_PSYCOPG3:
minimum version of
psycopgrequired by Patroni to work.
- patroni.parse_version(version: str) Tuple[int, ...]
Convert version from human-readable format to tuple of integers.
Note
Designed for easy comparison of software versions in Python.
- Parameters:
version – human-readable software version, e.g.
2.5.4.dev1 (dt dec pq3 ext lo64).- Returns:
tuple of version parts, each part as an integer.
- Example:
>>> parse_version('2.5.4.dev1 (dt dec pq3 ext lo64)') (2, 5, 4)