Paramètres avancés pour Public Cloud Databases for PostgreSQL
Ce guide liste tous les paramètres avancés pris en charge qui vous permettent de configurer votre Public Cloud Databases for PostgreSQL selon vos cas d'usage
Objectif
Ce guide liste tous les paramètres avancés pris en charge qui vous permettent de configurer votre Public Cloud Databases for PostgreSQL selon vos cas d'usage.
Prérequis
- Un projet Public Cloud dans votre compte OVHcloud.
- Une base de données exécutée sur votre service OVHcloud Public Cloud Databases (ce guide peut vous aider à répondre à ce prérequis).
- Un accès à votre ou à l'.
En pratique
La gestion des paramètres avancés n'est pas prise en charge via Terraform.
Depuis l'espace client OVHcloud
Veuillez consulter ce guide pour découvrir comment modifier vos paramètres avancés depuis l'espace client OVHcloud.
Depuis l'API
Veuillez consulter ce guide pour découvrir comment modifier vos paramètres avancés depuis l'API OVHcloud.
Paramètres avancés pour PostgreSQL
Vous trouverez ci-dessous un récapitulatif de toutes les options de configuration disponibles pour un service PostgreSQL :
Paramètres généraux
| Parameters |
|---|
pg.autovacuum_analyze_scale_factor doublemin: 0 max: 1Spécifie une fraction de la taille de la table à ajouter à autovacuum_analyze_threshold pour décider s'il faut déclencher un ANALYZE (par exemple 0.2 pour 20 % de la taille de la table). La valeur par défaut est 0.2. |
pg.autovacuum_analyze_threshold longmin: 0 max: 2147483647Spécifie le nombre minimum de tuples insérés, mis à jour ou supprimés nécessaire pour déclencher un ANALYZE sur une table donnée. La valeur par défaut est 50. |
pg.autovacuum_freeze_max_age longmin: 200000000 max: 1500000000Spécifie l'âge maximal (en transactions) que le champ pg_class.relfrozenxid d'une table peut atteindre avant qu'une opération VACUUM ne soit forcée pour éviter un bouclage (wraparound) des identifiants de transaction au sein de la table. Le système lance des processus autovacuum pour éviter ce bouclage même lorsque l'autovacuum est par ailleurs désactivé. La modification de ce paramètre entraîne un redémarrage du service. |
pg.autovacuum_max_workers longmin: 1 max: 20Spécifie le nombre maximum de processus autovacuum (autres que le lanceur d'autovacuum) pouvant s'exécuter simultanément. La valeur par défaut est 3. La modification de ce paramètre entraîne un redémarrage du service. |
pg.autovacuum_naptime longmin: 1 max: 86400Spécifie le délai minimum entre deux exécutions de l'autovacuum sur une base de données donnée. Le délai est exprimé en secondes. La valeur par défaut est 60. |
pg.autovacuum_vacuum_cost_delay longmin: -1 max: 100Spécifie la valeur de délai de coût utilisée lors des opérations VACUUM automatiques. Si -1 est spécifié, la valeur classique de vacuum_cost_delay sera utilisée. La valeur par défaut est 2 (valeur par défaut du projet PostgreSQL). |
pg.autovacuum_vacuum_cost_limit longmin: -1 max: 10000Spécifie la valeur de limite de coût utilisée lors des opérations VACUUM automatiques. Si -1 est spécifié, la valeur classique de vacuum_cost_limit sera utilisée. La valeur par défaut est -1 (valeur par défaut du projet PostgreSQL). |
pg.autovacuum_vacuum_scale_factor doublemin: 0 max: 1Spécifie une fraction de la taille de la table à ajouter à autovacuum_vacuum_threshold pour décider s'il faut déclencher un VACUUM (par exemple 0.2 pour 20 % de la taille de la table). La valeur par défaut est 0.2. |
pg.autovacuum_vacuum_threshold longmin: 0 max: 2147483647Spécifie le nombre minimum de tuples mis à jour ou supprimés nécessaire pour déclencher un VACUUM sur une table donnée. La valeur par défaut est 50. |
pg.bgwriter_delay longmin: 10 max: 10000Spécifie le délai entre deux cycles d'activité du background writer, en millisecondes. La valeur par défaut est 200. |
pg.bgwriter_flush_after longmin: 0 max: 2048Chaque fois que plus de bgwriter_flush_after octets ont été écrits par le background writer, tente de forcer l'OS à transmettre ces écritures au stockage sous-jacent. Exprimé en kilooctets. Une valeur de 0 désactive la réécriture forcée. La valeur par défaut est 512. |
pg.bgwriter_lru_maxpages longmin: 0 max: 1073741823À chaque cycle, le background writer n'écrira pas plus de ce nombre de buffers. Une valeur de zéro désactive l'écriture en arrière-plan. La valeur par défaut est 100. |
pg.bgwriter_lru_multiplier doublemin: 0 max: 10Le besoin moyen récent en nouveaux buffers est multiplié par bgwriter_lru_multiplier pour estimer le nombre de buffers qui sera nécessaire au cycle suivant (dans la limite de bgwriter_lru_maxpages). La valeur 1.0 représente une politique « juste à temps » consistant à écrire exactement le nombre de buffers prévu comme nécessaire. Des valeurs plus élevées apportent une marge face aux pics de demande, tandis que des valeurs plus faibles laissent volontairement des écritures à effectuer par les processus serveur. La valeur par défaut est 2.0. |
pg.deadlock_timeout longmin: 500 max: 1800000Il s'agit du délai, en millisecondes, à attendre sur un verrou avant de vérifier s'il existe une situation d'interblocage (deadlock). La valeur par défaut est 1000 (valeur par défaut du projet PostgreSQL). |
pg.default_toast_compression stringvalues: lz4, pglzSpécifie la méthode de compression TOAST par défaut pour les valeurs des colonnes compressibles. La valeur par défaut est lz4. Disponible uniquement à partir de PostgreSQL 14. |
pg.idle_in_transaction_session_timeout longmin: 0 max: 604800000Met fin aux sessions ayant des transactions ouvertes après ce nombre de millisecondes |
pg.jit booleanContrôle l'utilisation, à l'échelle du système, de la compilation Just-in-Time (JIT). |
pg.log_autovacuum_min_duration longmin: -1 max: 2147483647Fait consigner chaque action exécutée par l'autovacuum si elle a duré au moins ce nombre de millisecondes. Une valeur de zéro consigne toutes les actions d'autovacuum. La valeur -1 désactive la consignation des actions d'autovacuum. La valeur par défaut est 1000. |
pg.log_error_verbosity stringvalues: DEFAULT, TERSE, VERBOSEContrôle le niveau de détail écrit dans le journal du serveur pour chaque message consigné. |
pg.log_line_prefix stringvalues: '%m[%p]%q[user=%u,db=%d,app=%a]', '%t[%p]:[%l-1]user=%u,db=%d,app=%a,client=%h', 'pid=%p,user=%u,db=%d,app=%a,client=%h', 'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q'Choisissez l'un des formats de journal disponibles. |
pg.log_min_duration_statement longmin: -1 max: 86400000Consigne les instructions dont l'exécution dépasse ce nombre de millisecondes, -1 désactive cette option |
pg.log_temp_files longmin: -1 max: 2147483647Consigne les instructions pour chaque fichier temporaire créé dont la taille dépasse ce nombre de kilooctets, -1 désactive cette option |
pg.max_files_per_process longmin: 1000 max: 4096Nombre maximum de fichiers pouvant être ouverts par processus dans PostgreSQL. La valeur par défaut est 1000 (valeur par défaut du projet PostgreSQL). La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_locks_per_transaction longmin: 64 max: 6400Nombre maximum de verrous par transaction dans PostgreSQL. La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_logical_replication_workers longmin: 4 max: 64Nombre maximum de workers de réplication logique dans PostgreSQL (issus du pool de max_parallel_workers). La valeur par défaut est 4 (valeur par défaut du projet PostgreSQL). La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_parallel_workers longmin: 0 max: 96Définit le nombre maximum de workers que le système peut prendre en charge pour les requêtes parallèles. La valeur par défaut est 8 (valeur par défaut du projet PostgreSQL). |
pg.max_parallel_workers_per_gather longmin: 0 max: 96Définit le nombre maximum de workers pouvant être démarrés par un seul nœud Gather ou Gather Merge. La valeur par défaut est 2 (valeur par défaut du projet PostgreSQL). |
pg.max_pred_locks_per_transaction longmin: 64 max: 5120Nombre maximum de verrous de prédicat par transaction dans PostgreSQL. La valeur par défaut est 64 (valeur par défaut du projet PostgreSQL). La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_prepared_transactions longmin: 0 max: 10000Nombre maximum de transactions préparées dans PostgreSQL. La valeur par défaut est 0. La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_replication_slots longmin: 8 max: 64Nombre maximum de slots de réplication dans PostgreSQL. La valeur par défaut est 20. La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_slot_wal_keep_size longmin: -1 max: 2147483647Taille maximale de WAL (en Mo) réservée aux slots de réplication dans PostgreSQL. Si -1 est spécifié, les slots de réplication peuvent conserver une quantité illimitée de fichiers WAL. La valeur par défaut est -1 (valeur par défaut du projet PostgreSQL). Le paramètre de taille minimale wal_keep_size est prioritaire sur celui-ci. |
pg.max_stack_depth longmin: 2097152 max: 6291456Profondeur maximale de la pile, en octets. La valeur par défaut est 2097152 (valeur par défaut du projet PostgreSQL). |
pg.max_standby_archive_delay longmin: 1 max: 43200000Délai maximum du standby en mode archive, en millisecondes. La valeur par défaut est 30000 (valeur par défaut du projet PostgreSQL). |
pg.max_standby_streaming_delay longmin: 1 max: 43200000Délai maximum du standby en mode streaming, en millisecondes. La valeur par défaut est 30000 (valeur par défaut du projet PostgreSQL). |
pg.max_wal_senders longmin: 20 max: 64Nombre maximum d'émetteurs WAL dans PostgreSQL. La valeur par défaut est 20. La modification de ce paramètre entraîne un redémarrage du service. |
pg.max_worker_processes longmin: 8 max: 96Définit le nombre maximum de processus en arrière-plan que le système peut prendre en charge. La valeur par défaut est 8. La modification de ce paramètre entraîne un redémarrage du service. |
pg.password_encryption stringvalues: md5, scram-sha-256Choisit l'algorithme de chiffrement des mots de passe. |
pg.pg_partman_bgw.interval longmin: 3600 max: 604800Définit l'intervalle de temps, en secondes, entre deux exécutions des tâches planifiées de pg_partman. La valeur par défaut est 3600. |
pg.pg_partman_bgw.role stringContrôle quel rôle utiliser pour les tâches planifiées en arrière-plan de pg_partman. |
pg.pg_stat_monitor.pgsm_enable_query_plan booleanActive ou désactive le suivi des plans de requête. La modification de ce paramètre entraîne un redémarrage du service. Disponible uniquement à partir de PostgreSQL 13. |
pg.pg_stat_monitor.pgsm_max_buckets longmin: 1 max: 10Définit le nombre maximum de buckets. La modification de ce paramètre entraîne un redémarrage du service. Disponible uniquement à partir de PostgreSQL 13. |
pg.pg_stat_statements.track stringvalues: all, none, topContrôle quelles instructions sont comptabilisées. Indiquez top pour suivre les instructions de premier niveau (celles émises directement par les clients), all pour suivre également les instructions imbriquées (comme celles invoquées au sein de fonctions), ou none pour désactiver la collecte des statistiques d'instructions. La valeur par défaut est top. |
pg.temp_file_limit longmin: -1 max: 2147483647Limite de fichiers temporaires PostgreSQL en KiB, -1 pour illimité |
pg.timezone stringFuseau horaire du service PostgreSQL |
pg.track_activity_query_size longmin: 1024 max: 10240Spécifie le nombre d'octets réservés pour suivre la commande en cours d'exécution pour chaque session active. La modification de ce paramètre entraîne un redémarrage du service. |
pg.track_commit_timestamp stringvalues: off, onEnregistre l'horodatage de commit des transactions. La modification de ce paramètre entraîne un redémarrage du service. |
pg.track_functions stringvalues: all, none, plActive le suivi du nombre d'appels de fonction et du temps utilisé. |
pg.track_io_timing stringvalues: off, onActive la mesure du temps des appels d'E/S de la base de données. La valeur par défaut est off. Lorsqu'elle est activée, le système interroge de manière répétée l'heure actuelle auprès du système d'exploitation, ce qui peut entraîner une surcharge significative sur certaines plateformes. |
pg.wal_sender_timeout longMet fin aux connexions de réplication inactives depuis plus longtemps que cette durée, en millisecondes. Une valeur de zéro désactive ce délai d'expiration. |
pg.wal_writer_delay longmin: 10 max: 200Intervalle de vidage (flush) du WAL, en millisecondes. La valeur par défaut est 200. Définir ce paramètre à une valeur plus basse peut avoir un impact négatif sur les performances. |
pgbouncer.autodb_idle_timeout longmin: 0 max: 86400Si les pools de bases de données créés automatiquement sont restés inutilisés pendant ce nombre de secondes, ils sont libérés. Si la valeur est 0, ce délai d'expiration est désactivé. [secondes] |
pgbouncer.autodb_max_db_connections longmin: 0 max: 2147483647N'autorise pas plus de ce nombre de connexions serveur par base de données (quel que soit l'utilisateur). Une valeur de 0 signifie illimité. |
pgbouncer.autodb_pool_mode stringvalues: session, statement, transactionMode de pool PGBouncer |
pgbouncer.autodb_pool_size longmin: 0 max: 10000Si la valeur est non nulle, crée automatiquement un pool de cette taille par utilisateur lorsqu'un pool n'existe pas déjà. |
pgbouncer.max_prepared_statements longmin: 0 max: 3000PgBouncer suit les commandes liées aux instructions préparées nommées au niveau protocole envoyées par le client dans les modes de pooling par transaction et par instruction lorsque max_prepared_statements est défini à une valeur non nulle. Une valeur de 0 désactive les instructions préparées. max_prepared_statements vaut 100 par défaut, et son maximum est 3000. |
pgbouncer.min_pool_size longmin: 0 max: 10000Ajoute davantage de connexions serveur au pool si celui-ci est en dessous de ce nombre. Améliore le comportement lorsque la charge habituelle revient soudainement après une période d'inactivité totale. La valeur est effectivement plafonnée à la taille du pool. |
pgbouncer.server_idle_timeout longmin: 0 max: 86400Si une connexion serveur est restée inactive pendant plus de ce nombre de secondes, elle sera fermée. Si la valeur est 0, ce délai d'expiration est désactivé. [secondes] |
pgbouncer.server_lifetime longmin: 60 max: 86400Le pooler fermera une connexion serveur inutilisée connectée depuis plus longtemps que cette durée. [secondes] |
pgbouncer.server_reset_query_always booleanExécute server_reset_query (DISCARD ALL) dans tous les modes de pooling |
pglookout.max_failover_replication_time_lag longmin: 10 max: 9223372036854776000Nombre de secondes d'indisponibilité du master avant de déclencher un basculement (failover) de la base de données vers le standby |
shared_buffers_percentage doublemin: 20 max: 60Pourcentage de la RAM totale que le serveur de base de données utilise pour les buffers de mémoire partagée. La plage valide est 20-60 (flottant), ce qui correspond à 20 % - 60 %. Ce paramètre ajuste la valeur de configuration shared_buffers. La modification de ce paramètre entraîne un redémarrage du service. |
timescaledb.max_background_workers longmin: 1 max: 4096Le nombre de workers en arrière-plan pour les opérations timescaledb. Vous devez configurer ce paramètre sur la somme de votre nombre de bases de données et du nombre total de workers en arrière-plan simultanés que vous souhaitez voir s'exécuter à un instant donné. La modification de ce paramètre entraîne un redémarrage du service. |
work_mem longmin: 1 max: 1024Définit la quantité maximale de mémoire à utiliser par une opération de requête (comme un tri ou une table de hachage) avant d'écrire dans des fichiers disque temporaires, en Mo. La valeur par défaut est 1 Mo + 0,075 % de la RAM totale (jusqu'à 32 Mo). |
Aller plus loin
Visitez notre chaîne Discord dédiée : https://discord.gg/ovhcloud. Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe nos services de bases de données.
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Rejoignez notre communauté d'utilisateurs.