Workshop 13
Dalibo & Contributors
min_parallel_index_scan_size--parallel (-P)--jobs--jobs (-j) pour reindexdbrecovery_target non atteintepg_basebackup crée une liste des fichiers présents dans les sauvegardes : le fichier manifeste.
Trois nouvelles options :
--no-manifest--manifest-force-encode--manifest-checksums=[NONE|CRC32C|SHA224|SHA256|SHA384|SHA512]Fonction : vérifier une sauvegarde au format plain grâce au fichier manifeste.
4 étapes :
Ne dispense pas de tester les sauvegardes en les restaurant !
Nouvelle vue : pg_stat_progress_basebackup
Permet de surveiller :
recovery_target ne peut être atteinteErreur fatale quand la cible précisée n’est pas atteinte en fin de restauration :
FATAL: recovery ended before configured recovery target was reached
ignore_invalid_pagesmaintenance_io_concurrencyDROP DATABASE & déconnexion forcéeBEFORE sur les tables partitionnées.maintenance_io_concurrencyeffective_io_concurrencyignore_invalid_pages permet de continuer la récupération quand les WAL font référence à des pages invalidesWITH FORCE pour DROP DATABASE--force pour l’outil dropdbmax_slot_wal_keep_size)primary_conninfo et primary_slot_namemax_slot_wal_keep_size permet de spécifier le volume maximal de WAL que les slots de réplication peuvent conserver dans le répertoire pg_wal ;wal_status et safe_wal_size à la vue pg_replication_slots pour permettre de suivre l’état des slots.-c/--restore-target-wal permet de restaurer les archives de journaux de transactions de l’instance cible.--no-ensure-shutdown.--write-recovery-conf permet de générer le fichier standby.signal et configure la connexion à l’instance primaire dans postgresql.auto.conf ;--source-serverIl est désormais possible de :
publish_via_partition_root)
logical_decoding_work_mem
leader_pidpg_stat_progress_analyzepg_shmem_allocations%b) à log_line_prefix pour tracer le type de backend.log_min_duration_sample : durée minimum requise pour qu’une requête échantillonnée puisse être tracée.log_statement_sample_rate : probabilité qu’une requête durant plus de log_min_duration_sample soit tracée.log_min_duration_statement sur log_min_duration_sample.log_parameter_max_length permet de définir le volume de paramètres maximal associé aux requêtes préparées dans les traces ;log_min_duration_statements ou log_min_duration_sample ;log_parameter_max_length_on_error permet de définir le volume de paramètres maximal affiché dans les traces des requêtes préparées à cause d’erreurs.pg_stat_statements peut désormais collecter pour chaque requête le nombre de phases d’optimisation et le temps qui y est alloué ;pg_stat_statements.track_planning permet d’activer cette collecte. Sa valeur par défaut est off.pg_stat_activity contient une nouvelle colonne leader_pid pour identifier le leader d’un groupe de processus parallélisés ;NULL.pg_stat_progress_analyzeVue pg_shmem_allocations :
bt_metap()
bt_page_items()
Déduplication non disponible pour plusieurs types de colonnes :
text, varchar et char si une collation non-déterministe est utiliséenumeric et par extension les types float4, float8 et jsonbINCLUDE)Permet de spécifier séparément la finesse de calcul pour les statistiques classiques et étendues
Nouvelle commande :
ALTER STATISTICS stat_name SET STATISTICS target_value
hash_mem_multiplierhash_mem_multiplier * work_mem définit la quantité de mémoire autorisée pour chaque nœud Hash Aggregate ou HashNouvelles colonnes :
wal_bytes : volume d’écriture dans les WAL en octetswal_records : nombre d’écritures dans les WALwal_fpi : nombre d’écritures de pages complètes dans les WAL.EXPLAIN :
ANALYZE : prérequisWAL : affiche les statistiques d’utilisation des WAL Insert on test (actual time=3.231..3.231 rows=0 loops=1)
WAL: records=1000 bytes=65893
auto_explain.log_analyze : prérequisauto_explain.log_wal : affiche les statistiques d’utilisation des journaux de transactions dans les plansWAL de EXPLAIN WAL usage: 120 records, 3 full page images, 27935 bytes
EXPLAIN avec l’option BUFFERS affiche désormais l’utilisation des buffers lors de la phase de planification ;BUFFERS ne requiert plus l’utilisation de ANALYZE pour être utilisée.wal_keep_segments devient wal_keep_sizeeffective_io_concurrency : changement d’échellewal_keep_segments devient wal_keep_sizeParamètre effective_io_concurrency :
BEFOREBEFORE sur une table partitionnée ;BEFORE qui modifie la partition cible.Dimensionnement de hash_mem_multiplier.
pg_stat_statements ;.pgpass sans redémarrage.Test sur :