pg_recvlogical

pg_recvlogical — contrôle les flux de décodage logique de PostgreSQL

Synopsis

pg_recvlogical [option...]

Description

pg_recvlogical contrôle des slots de réplication pour le décodage logique et envoie les données par flux depuis ces slots de réplication.

Il crée une connexion en mode réplication, et est donc sujet aux même contraintes que pg_receivexlog(1), en plus de celles de la réplication logique (voir Chapitre 46, Décodage logique (Logical Decoding)).

Options

Au moins une des options suivantes doit être indiquée pour sélectionner une action :

--create-slot

Crée un nouveau slot de réplication avec le nom spécifié avec --slot, utilisant le plugin de sortie spécifié avec --plugin, pour la base de données spécifiée par --dbname.

--drop-slot

Supprime le slot de réplication dont le nom est spécifié avec l'option --slot, puis quitte.

--start

Commence le transfert des modifications à partir du slot de réplication spécifié par l'option --slot, et continue jusqu'à être arrêté par un signal. Si le flux de modifications côté serveur se termine avec un arrêt du serveur ou une déconnexion, tente de nouveau dans une boucle, sauf si l'option --no-loop est ajoutée.

Le format du flux est déterminé par le plugin en sortie indiqué lors de la création du slot.

La connexion doit se faire sur la même base de données que celle utilisée pour créer le slot.

Les actions --create-slot et --start peuvent être utilisées ensemble. --drop-slot ne peut pas être combinée avec une autre action.

L'option de ligne de commande suivante contrôle l'emplacement et le format de sortie ainsi que les autres comportements de la réplication :

-f nom_fichier, --file=nom_fichier

Écrit les données de transactions reçues et décodées dans ce fichier. Utiliser - pour la sortie standard (stdout).

-F interval_secondes, --fsync-interval=interval_secondes

Précise la fréquence des appels à fsync() par pg_recvlogical pour s'assurer que le fichier en sortie est à coup sûr sur disque.

De temps en temps, le serveur demande au client de réaliser les écritures et de rapporter sa position au serveur. Ce paramètre permet d'aller au-delà, pour réaliser des écritures plus fréquentes.

Indiquer un intervalle de 0 désactive tous les appels à fsync(). Le serveur est toujours informé de la progression. Dans ce cas, des données peuvent être perdues en cas de crash.

-I lsn, --startpos=lsn

Dans le mode --start, la réplication commence à la position LSN désignée. Pour les détails de son effet, voir la documentation dans Chapitre 46, Décodage logique (Logical Decoding) et Section 50.4, « Protocole de réplication en continu ». Ignoré dans les autres modes.

--if-not-exists

Ne renvoie pas une erreur quand --create-slot est spécifié et qu'un slot de ce nom existe déjà.

-n, --no-loop

Quand la connexion au serveur est perdue, ne pas tenter de nouveau dans une boucle, mais quitte simplement.

-o nom[=valeur], --option=nom[=valeur]

Passe l'option option nom au plugin en sortie avec la valeur si elle est spécifiée. Des options existent mais leurs effets dépendent du plugin utilisé en sortie.

-P plugin, --plugin=plugin

Lors de la création du slot, utiliser la sortie de plugin de décodage spécifiée. Voir Chapitre 46, Décodage logique (Logical Decoding). Cette option n'a pas d'effet si le slot existe déjà.

-s intervalle_en_seconde, --status-interval=intervalle_en_seconde

Cette option a le même effet que l'option du même nom dans pg_receivexlog(1). Voir la description à cet endroit.

-S nom_slot, --slot=nom_slot

Dans le mode --start, utilise le slot de réplication logique existant nommé slot_name. Dans le mode --create-slot, créer le slot de réplication avec ce nom. Dans le mode --drop-slot, supprime le slot de ce nom.

-v, --verbose

Active le mode verbeux.

Les options suivantes en ligne de commande contrôlent les paramètres de connexion à la base de données.

-d nom_base, --dbname=nom_base

La base de données où se connecter. Voir la description des actions de sa signification. Cela peut être une chaîne de connexion libpq ; voir Section 31.1.1, « Chaînes de connexion » pour plus d'informations. La valeur par défaut est le nom de l'utilisateur. to user name.

-h alias-ou-ip, --host=alias-ou-ip

Indique le nom d'hôte du serveur. Si la valeur commence avec un slash, elle est utilisée comme nom du répertoire pour le socket de domaine Unix. La valeur par défaut est récupérée de la variable d'environnement PGHOST. Si cette dernière n'est pas configurée, une connexion par socket de domaine Unix est tentée.

-p port, --port=port

Indique le port TCP ou l'extension du fichier de socket de domaine Unix, sur lequel le serveur écoute les connexions entrantes. La valeur par défaut correspond à la valeur de la variable d'environnement PGPORT. Si cette variable n'est pas configurée, une valeur compilée est prise en compte.

-U nom_utilisateur, --username=nom_utilisateur

Le nom d'utilisateur utilisé pour la connexion. Sa valeur par défaut est le nom de l'utilisateur du système d'exploitation.

-w, --no-password

Ne demande jamais un mot de passe. Si le serveur requiert une authentification par mot de passe et qu'un mot de passe n'est pas disponible par d'autres moyens tels que le fichier .pgpass, la tentative de connexion échouera. Cette option peut être utile dans les jobs programmés et dans les scripts où aucun utilisateur n'est présent pour saisir un mot de passe.

-W, --password

Force pg_recvlogical à demander un mot de passe avant de se connecter à une base de données.

Cette option n'est jamais obligatoire, car pg_recvlogical demandera automatiquement un mot de passe si le serveur requiert une authentification par mot de passe. Néanmoins, pg_recvlogical gaspillera une tentative de connexion pour trouver que le serveur a besoin d'un mot de passe. Dans certains cas, il est préférable d'utiliser l'option -W pour éviter la tentative de connexion supplémentaire.

Les options supplémentaires suivantes sont disponibles :

-V, --version

Affiche la version de pg_recvlogical, puis quitte.

-?, --help

Affiche l'aide sur les arguments en ligne de commande de pg_recvlogical, puis quitte.

Environnement

Cet outil, comme la plupart des autres outils PostgreSQL™, utilise les variables d'environnement supportées par libpq (voir Section 31.14, « Variables d'environnement »).

Exemples

Voir Section 46.1, « Exemples de décodage logique » pour un exemple.

Voir aussi

pg_receivexlog(1)