Documentation PostgreSQL 16.14 » Programmation serveur » Décodage logique (Logical Decoding)

Précédent Niveau supérieur Suivant
Chapitre 48. Processus en tâche de fond (background worker) Sommaire 49.1. Exemples de décodage logique

Chapitre 49. Décodage logique (Logical Decoding)

Table des matières

49.1. Exemples de décodage logique
49.2. Concepts de décodage logique
49.2.1. Décodage logique
49.2.2. Slots de réplication
49.2.3. Plugins de sortie
49.2.4. Instantanés exportés
49.3. Interface du protocole de réplication par flux
49.4. Interface SQL de décodage logique
49.5. Catalogues systèmes liés au décodage logique
49.6. Plugins de sortie de décodage logique
49.6.1. Fonction d'initialisation
49.6.2. Capacités
49.6.3. Modes de sortie
49.6.4. Callbacks de plugin de sortie
49.6.5. Fonction pour produire une sortie
49.7. Écrivains de sortie de décodage logique
49.8. Support de la réplication synchrone pour le décodage logique
49.8.1. Aperçu
49.8.2. Mises en garde
49.9. Envoi en flux de grosses transactions pour le décodage logique
49.10. Support du Two-phase commit pour le décodage logique

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).

AltStyle によって変換されたページ (->オリジナル) /