{"library":"patroni","title":"Patroni","description":"Patroni is a Python-based orchestrator for managing high-availability PostgreSQL clusters using Distributed Configuration Stores (DCS) like etcd, Consul, ZooKeeper, or Kubernetes. Current version is 4.1.2. It follows a rapid release cadence with frequent minor and patch releases.","language":"python","status":"active","last_verified":"Fri May 01","install":{"commands":["pip install patroni"],"cli":{"name":"patroni","version":"FATAL: Patroni requires psycopg2>=2.5.4, psycopg2-binary, or psycopg>=3.0.0"}},"imports":["from patroni import Patroni","from patroni.ha import Ha","from patroni.postgresql.slots import SlotManager"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from patroni import Patroni\n\nconfig = {\n    'namespace': '/service/',\n    'scope': 'batman',\n    'name': 'postgresql0',\n    'restapi': {'listen': '0.0.0.0:8008', 'connect_address': '127.0.0.1:8008'},\n    'etcd': {'host': '127.0.0.1:2379'},\n    'bootstrap': {\n        'dcs': {'ttl': 30, 'loop_wait': 10, 'retry_timeout': 10, 'maximum_lag_on_failover': 1048576},\n        'initdb': [{'encoding': 'UTF8'}, {'data-checksums': 'true'}],\n        'pg_hba': ['host replication replicator 127.0.0.1/32 md5', 'host all all 0.0.0.0/0 md5'],\n        'users': {'admin': {'password': 'admin', 'options': ['createrole', 'createdb']}}\n    },\n    'postgresql': {\n        'listen': '0.0.0.0:5432',\n        'connect_address': '127.0.0.1:5432',\n        'data_dir': 'data/postgresql0',\n        'bin_dir': '/usr/lib/postgresql/14/bin',\n        'pgpass': '/tmp/pgpass',\n        'authentication': {'replication': {'username': 'replicator', 'password': 'rep-pass'},\n                           'superuser': {'username': 'postgres', 'password': 'secret-password'}},\n        'parameters': {'unix_socket_directories': '.'}\n    },\n    'tags': {'nofailover': False, 'noloadbalance': False}\n}\n\npatroni = Patroni(config)\npatroni.run()","lang":"python","description":"Minimal Patroni instance using etcd as DCS. Adjust listen addresses, credentials, and PostgreSQL paths.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}