Table des matières
PostgreSQL fournit une infrastructure pour envoyer par flux les modifications effectuées en SQL à des consommateurs externes. Cette fonctionnalité peut être utilisée dans plusieurs buts, y compris pour des solutions de réplication ou d'audit.
Les changements sont envoyés dans des flux identifiés par des slots de réplication logique.
Le format dans lequel ces changements sont envoyés est déterminé par le
plugin de sortie utilisé. Un plugin d'exemple est fourni dans la
distribution de PostgreSQL. Des plugins additionnels peuvent être écrits
pour étendre le choix des formats de sortie disponibles sans modifier une
seule ligne de code du moteur. Chaque plugin de sortie a accès à chaque
nouvelle ligne individuelle produite par les commandes
INSERT
, ainsi que les nouvelles versions de lignes
créées par les commandes UPDATE
. La disponibilité des
anciennes versions des lignes dépend de l'identité de réplica configurée
(voir REPLICA IDENTITY
).
Les changements peuvent être consommés soit en utilisant le protocole de réplication par flux (streaming, voir Section 55.4 et Section 49.3), soit en appelant des fonctions en SQL (voir Section 49.4). Il est également possible d'écrire de nouvelles méthodes de consommation de sortie d'un slot de réplication sans modifier le code du moteur (voir Section 49.7).