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, et des
plugins additionnels peuvent être écrits pour étendre le choix de format
de sortie disponible sans modifier une seule ligne de code du moteur.
Chaque plugin de sortie a accès à chaque nouvelle ligne individuelle
produite par INSERT
, ainsi que les nouvelles versions
de lignes créées par UPDATE
. La disponibilité des
anciennes version de ligne dépend de l'identité de réplicat configuré
(voir REPLICA IDENTITY
).
Les changements peuvent être consommés soit en utilisant le protocole de réplication par flux (voir Section 52.6 et Section 48.3),ou par l'appel de fonctions en SQL (voir Section 48.4). Il est également possible d'écrire de nouvelles méthodes de consommation de sortie d'un slot de réplication sans modifier une seule ligne de code du moteur (voir Section 48.7).