Configuration des paramètres de l'extension pgactive - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des paramètres de l'extension pgactive

Vous pouvez utiliser la requête suivante pour afficher tous les paramètres associés à l'extension pgactive.

app=> SELECT * FROM pg_settings WHERE name LIKE 'pgactive.%';

Vous pouvez configurer l'pgactiveextension à l'aide de différents paramètres. Ces paramètres peuvent être définis par le biais de l'interface CLI AWS Management Console ou de l'interface AWS CLI.

Principaux paramètres de l'extension pgactive

Le tableau suivant fournit une référence pour les principaux paramètres de l'pgactiveextension :

Paramètre

Unit

Par défaut

Description

pgactive.conflict_logging_include_tuples

boolean

Enregistre les informations complètes du tuple pour l'pgactiveextension.

Note

Un redémarrage du serveur est nécessaire pour que les modifications prennent effet.

pgactive.log_conflicts_to_table

boolean

Détermine si l'pgactiveextension enregistre les conflits détectés dans la pgactive.pgactive_conflict_history table. Pour plus d'informations, consultez la section Enregistrement des conflits pour plus de détails.

Note

Un redémarrage du serveur est nécessaire pour que les modifications prennent effet.

pgactive.log_conflicts_to_logfile

boolean

Détermine si l'pgactiveextension enregistre les conflits détectés dans le fichier journal PostgreSQL. Pour plus d'informations, consultez la section Enregistrement des conflits pour plus de détails.

Note

Un redémarrage du serveur est nécessaire pour que les modifications prennent effet.

pgactive.synchronous_commit

boolean

off

Détermine le comportement de validation pour pgactive apply workers. Lorsque cette option est désactivée (désactivée), les applications exécutent des validations asynchrones, ce qui améliore le débit de PostgreSQL lors des opérations d'application, mais retarde les confirmations de rediffusion en amont. Le paramétrer sur off est toujours sûr et n'entraînera pas de perte ou de saut de transaction. Ce paramètre affecte uniquement le calendrier des vidanges de disque sur le nœud en aval et le moment où les confirmations sont envoyées en amont. Le système retarde l'envoi des confirmations de rediffusion jusqu'à ce que les validations soient vidées sur le disque par le biais d'opérations indépendantes, telles que des points de contrôle ou des travaux périodiques. Toutefois, si l'amont contient l'aval dans la listesynchronous_standby_names, le paramétrage de ce paramètre off entraîne un délai plus long pour que les validations synchrones en amont mettent plus de temps à signaler le succès au client. Dans ce cas, définissez le paramètre suron.

Note

Même lorsque ce paramètre est défini sur un nœud répertorié danssynchronous_standby_names, des conflits de réplication peuvent toujours se produire dans les configurations active-active. on Cela est dû au fait que le système ne dispose pas de verrouillage entre nœuds et de gestion globale des instantanés, ce qui permet à des transactions simultanées sur différents nœuds de modifier le même tuple. De plus, les transactions ne commencent la réplication qu'après avoir été validées sur le nœud en amont. L'activation de la validation synchrone ne transforme pas l'extension pgactive en un système toujours cohérent.

pgactive.temp_dump_directory

string

Définit le chemin de stockage temporaire requis pour les opérations de clonage de base de données lors de la configuration initiale. Ce répertoire doit être accessible en écriture par l'utilisateur postgres et disposer d'un espace de stockage suffisant pour contenir un vidage complet de la base de données. Le système utilise cet emplacement uniquement lors de la configuration initiale de la base de données avec des opérations de copie logique. Ce paramètre n'est pas utilisé par lepgactive_init_copy command.

pgactive.max_ddl_lock_delay

milliseconds

-1

Spécifie le temps d'attente maximal pour le verrouillage DDL avant l'abandon forcé de transactions d'écriture simultanées. La valeur par défaut est-1, qui adopte la valeur définie dansmax_standby_streaming_delay. Ce paramètre accepte les unités de temps. Par exemple, vous pouvez le régler sur 10 secondes pendant 10 secondes. Pendant cette période d'attente, le système tente d'acquérir des verrous DDL en attendant que les transactions d'écriture en cours soient validées ou annulées. Pour plus d'informations, consultez la section Verrouillage DDL.

pgactive.ddl_lock_timeout

milliseconds

-1

Spécifie le temps d'attente d'une tentative de verrouillage DDL pour obtenir le verrou. La valeur par défaut est-1, qui utilise la valeur spécifiée dans lock_timeout. Vous pouvez définir ce paramètre à l'aide d'unités de temps telles que 10 s pendant 10 secondes. Ce temporisateur contrôle uniquement le délai d'attente pour obtenir un verrou DDL. Une fois que le système obtient le verrou et commence l'opération DDL, le temporisateur s'arrête. Ce paramètre ne limite pas la durée totale pendant laquelle un verrou DDL peut être maintenu ni le temps global de fonctionnement du DDL. Pour contrôler la durée totale de l'opération, utilisez statement_timeout plutôt. Pour plus d'informations, consultez la section Verrouillage DDL.

pgactive.debug_trace_ddl_locks_level

boolean

Remplace le niveau du journal de débogage par défaut pour les opérations de verrouillage DDL dans l'extension. pgactive Lorsqu'il est configuré, ce paramètre entraîne l'émission de messages relatifs au verrouillage DDL au niveau du débogage du LOG au lieu de leur niveau par défaut. Utilisez ce paramètre pour surveiller l'activité de verrouillage DDL sans activer les niveaux verbeux DEBUG1 ou de DEBUG2 journalisation sur l'ensemble de votre serveur.

Niveaux de log disponibles, par ordre croissant de verbosité :

  • none : les messages de verrouillage DDL apparaissent uniquement aux niveaux de journalisation du serveur DEBUG1 et aux niveaux inférieurs.

  • statement - Ajoute une sortie LOG pour les tentatives d'acquisition de verrous DDL.

  • acquire_release - Enregistre les événements d'acquisition, de libération, de déclinaison et les applications de nœuds homologues des verrous DDL distants.

  • pairs - Fournit des informations supplémentaires sur les négociations de verrouillage DDL entre les nœuds homologues.

  • debug - Enregistre toutes les activités liées au verrouillage DDL au niveau LOG.

Pour plus d'informations sur les options de surveillance, consultez la section Surveillance des verrous DDL globaux.

Note

Les modifications apportées à ce paramètre prennent effet lorsque vous rechargez la configuration. Il n'est pas nécessaire de redémarrer le serveur.

Paramètres d'extension pgactive supplémentaires

Le tableau suivant présente les options de configuration internes les moins fréquemment utilisées et disponibles pour l'pgactiveextension.

Paramètre

Unit

Par défaut

Description

pgactive.debug_apply_delay

integer

Définit un délai d'application (en millisecondes) pour les connexions configurées dont la saisie ne comporte pas de délai d'application explicite. pgactive.pgactive_connections Ce délai est défini lors de la création ou de la jointure d'un nœud, et pgactive ne rejoue pas une transaction sur des nœuds homologues avant qu'au moins le nombre de millisecondes spécifié ne se soit écoulé depuis sa validation.

Principalement utilisé pour simuler des réseaux à latence élevée dans des environnements de test afin de faciliter la création de conflits. Par exemple, avec un délai de 500 ms sur les nœuds A et B, vous disposez d'au moins 500 ms pour effectuer une insertion conflictuelle sur le nœud B après avoir inséré une valeur sur le nœud A.

Note

Nécessite le rechargement du serveur ou le redémarrage d'Apply Workers pour prendre effet.

pgactive.connectability_check_duration

integer

Spécifie la durée (en secondes) pendant laquelle un utilisateur de base de données tente d'établir des connexions en cas d'échec. Le travailleur effectue une tentative de connexion par seconde jusqu'à ce qu'il réussisse ou atteigne ce délai d'expiration. Ce paramètre est utile lorsque le moteur de base de données démarre avant que le travailleur ne soit prêt à établir des connexions.

pgactive.skip_ddl_replication

boolean

on

Contrôle la manière dont les modifications DDL sont répliquées ou gérées dans Amazon RDS lorsque cette option est activée. pgactive Lorsqu'il est défini suron, le nœud traite les modifications DDL comme un nœud non passif. Les exigences suivantes s'appliquent lors de l'utilisation de ce paramètre :

  • Les nouveaux nœuds ne peuvent pas rejoindre un groupe pgactive si leur skip_ddl_replication valeur est différente de celle du nœud en amont.

  • Les nœuds existants ne peuvent pas démarrer pgactive workers si la valeur de leurs paramètres ne correspond pas à celle du nœud en amont.

  • Tous les membres de pgactive doivent utiliser la même valeur de paramètre.

Vous pouvez modifier ce paramètre de deux manières avec les privilèges de super utilisateur : globalement, localement (au niveau de la session).

Note

Une modification incorrecte de ce paramètre peut interrompre vos configurations de réplication.

pgactive.do_not_replicate

boolean

Ce paramètre est réservé à un usage interne. Lorsque vous définissez ce paramètre dans une transaction, les modifications ne sont pas répliquées sur les autres nœuds de votre cluster de base de données.

Note

Une modification incorrecte de ce paramètre peut interrompre vos configurations de réplication.

pgactive.discard_mismatched_row_attributes

boolean

Ce paramètre est destiné à un usage spécialisé uniquement. Nous recommandons d'utiliser ce paramètre uniquement pour résoudre des problèmes de réplication spécifiques. Utilisez ce paramètre lorsque :

  • Le flux de réplication entrant contient des lignes comportant plus de colonnes que votre table locale.

  • Ces lignes distantes contiennent des valeurs non nulles.

Ce paramètre remplace le message d'erreur suivant et permet à des données de diverger afin de permettre la poursuite de la réplication : cannot right-pad mismatched attributes; attno %u is missing in local table and remote row has non-null, non-dropped value for this attribute

Note

Une modification incorrecte de ce paramètre peut interrompre vos configurations de réplication.

pgactive.debug_trace_replay

boolean

Lorsqu'il est défini suron, il émet un message de journal pour chaque action à distance appliquée en aval au processus des travailleurs. Les journaux incluent :

  • Type de modification

  • Nom de la table affectée

  • Nombre de modifications depuis le début de la transaction

  • Transaction : validation (LSN)

  • Horodatage de validation

  • Identifiant du nœud en amont

  • Identifiant du nœud de transfert (le cas échéant)

Les journaux capturent également les commandes DDL en file d'attente et les listes déroulantes.

para>

Par défaut, les journaux n'incluent pas le contenu des champs de ligne. Pour inclure des valeurs de ligne dans les journaux, vous devez recompiler avec les indicateurs suivants activés :

  • ENCART DÉTAILLÉ

  • MISE À JOUR DÉTAILLÉE

  • VERBOSE_DELETE

Note

L'activation de ce paramètre de journalisation peut avoir un impact sur les performances. Nous vous recommandons de l'activer uniquement lorsque cela est nécessaire pour le dépannage. Les modifications apportées à ce paramètre prennent effet lorsque vous rechargez la configuration. Il n'est pas nécessaire de redémarrer le serveur.

pgactive.extra_apply_connection_options

Vous pouvez configurer les paramètres de connexion pour toutes les connexions de nœuds homologues avec des nœuds pgactive. Ces paramètres contrôlent les paramètres tels que les modes keepalives et SSL. Par défaut, pgactive utilise les paramètres de connexion suivants :

  • connect_timeout=30

  • Kepalives=1

  • keepalives_idle=20

  • keepalives_interval = 20

  • keepalives_count=5

Pour remplacer les paramètres par défaut, utilisez la commande similaire suivante :

pgactive.extra_apply_connection_options = 'keepalives=0'

Les chaînes de connexion des nœuds individuels ont priorité sur ces paramètres et sur les options de connexion intégrées de pgactive. Pour plus d'informations sur les formats de chaînes de connexion, consultez les chaînes de connexion libpq.

Nous vous recommandons de conserver les paramètres keepalive par défaut activés. Désactivez Keepalives uniquement si vous rencontrez des problèmes lors de transactions importantes effectuées sur des réseaux peu fiables.

Note

Nous vous recommandons de conserver les paramètres keepalive par défaut activés. Désactivez Keepalives uniquement si vous rencontrez des problèmes lors de transactions importantes effectuées sur des réseaux peu fiables. Les modifications apportées à ce paramètre prennent effet lorsque vous rechargez la configuration. Il n'est pas nécessaire de redémarrer le serveur.

pgactive.init_node_parallel_jobs (int)

Spécifie le nombre de tâches parallèles que pg_dump et pg_restore peuvent utiliser lors des jointures de nœuds logiques avec la pgactive.pgactive_join_group fonction.

Les modifications apportées à ce paramètre prennent effet lorsque vous rechargez la configuration. Il n'est pas nécessaire de redémarrer le serveur.

pgactive.max_nodes

int

4

Spécifie le nombre maximum de nœuds autorisés dans un groupe d'extension pgactive. La valeur par défaut est de 4 nœuds. Vous devez tenir compte des points suivants lorsque vous définissez la valeur de ce paramètre :

  • Tous les nœuds d'un groupe d'extensions pgactive doivent utiliser la même valeur de paramètre.

  • Un nouveau nœud ne peut pas se joindre si la valeur de ses paramètres est différente de celle du nœud en amont.

  • Les nœuds existants ne peuvent pas démarrer les programmes d'extension pgactive si la valeur de leurs paramètres est différente de celle du nœud en amont.

  • Les groupes plus importants nécessitent des efforts de surveillance et de maintenance supplémentaires, donc évaluez judicieusement la valeur de ce paramètre.

Vous pouvez définir ce paramètre de deux manières : dans le fichier de configuration, à l'aide de la ALTER SYSTEM SET commande

La valeur par défaut de ce paramètre est4, ce qui signifie qu'il peut y avoir un maximum de 4 nœuds autorisés dans le groupe d'pgactiveextensions à tout moment.

Note

La modification prend effet après le redémarrage du serveur.

pgactive.permit_node_identifier_getter_function_creation

boolean

Ce paramètre est destiné à un usage interne uniquement. Lorsqu'elle est activée, pgactive l'extension permet de créer la fonction pgactive node identifier getter.