PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 14.11 » Programmation serveur » Décodage logique (Logical Decoding)

Chapitre 49. Décodage logique (Logical Decoding)

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 version des lignes dépend de l'identité de réplicat configurée (voir REPLICA IDENTITY).

Les changements peuvent être consommés soit en utilisant le protocole de réplication par flux (streaming, voir Section 53.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).