Module R58
Dalibo SCOP
24.12
18 décembre 2024
Cette formation est sous licence CC-BY-NC-SA. Vous êtes libre de la redistribuer et/ou modifier aux conditions suivantes :
PostgreSQL® Postgres® et le logo Slonik sont des marques déposées par PostgreSQL Community Association of Canada.
Ce document ne couvre que les versions supportées de PostgreSQL au moment de sa rédaction, soit les versions 13 à 17.
Patroni permet de :
des serveurs PostgreSQL en haute disponibilité.
pg_rewind
pg_basebackup
patroni
pip
patronictl reload
bootstrap.dcs
patronictl edit-config
$PGDATA/patroni.dynamic.json
Patroni définit trois paramètres globaux au cluster :
name
namespace
scope
etcd
etcd3
host
protocol
username
password
cacert
cert
key
Le paramétrage de Patroni est :
Il est possible d’indiquer à Patroni comment construire les instances primaires et secondaires d’un agrégat. Les sections concernées sont :
bootstrap.method
bootstrap.initdb
postgresql.create_replica_methods
bootstrap.post_bootstrap
bootstrap.post_init
bootstrap.dcs.postgresql
parameters
pg_hba
pg_ident
postgresql
postgresql.authentication
postgresql.parameters
postgresql.pg_hba
postgresql.pg_ident
postgresql.callbacks
bootstrap.dcs.standby_cluster
Initialisés depuis les sections suivantes :
bootstrap.dcs.slots
bootstrap.dcs.ignore_slots
synchronous_mode: "{on|off|quorum}"
synchronous_node_count
synchronous_mode_strict: "{on|off}"
synchronous_commit = "on"
synchronous_standby_name
log
type
pain
json
level
format
dir
file_num
file_size
Patroni expose une API REST :
patronictl
restapi
connect_address
listen
authentication
certfile
keyfile
keyfile_password
cafile
verify_client
Une configuration spécifique est réservée au CLI patronictl :
ctl
insecure
watchdog
mode
off
automatic
required
device
safety_margin
Patroni supporte différents marqueurs dans la section tags :
tags
nofailover
clonefrom
noloadbalance
replicatefrom
nosync
failover_priority
group
database
PATRONICTL_CONFIG_FILE
PATRONI_SCOPE
list
topology
show-config
edit-config
ALTER SYSTEM
switchover
failover
pause
resume
history
reinit
reload
restart
L’API REST permet de :
clé=valeur
target_session_attrs
\primary
\replica
https://dali.bo/r58_quiz
Network Time Protocole↩︎
Le quorum se calcule ainsi : (3 sites × 3 nœuds / 2) +1↩︎