{"id":6497,"date":"2025-09-08T23:24:53","date_gmt":"2025-09-08T21:24:53","guid":{"rendered":"http:\/\/rootfan.com\/?p=6497"},"modified":"2025-09-26T07:15:40","modified_gmt":"2025-09-26T05:15:40","slug":"surveillance-postgresql","status":"publish","type":"post","link":"https:\/\/rootfan.com\/fr\/postgresql-monitoring\/","title":{"rendered":"Surveillance de PostgreSQL : Comment maintenir votre base de donn\u00e9es en bonne sant\u00e9"},"content":{"rendered":"<p>La surveillance des bases de donn\u00e9es est l'une des t\u00e2ches les plus critiques pour tout administrateur de bases de donn\u00e9es. <\/p>\n\n\n\n<p>PostgreSQL offre une large gamme d'outils int\u00e9gr\u00e9s et d'extensions pour vous aider \u00e0 suivre les performances, \u00e0 r\u00e9soudre les probl\u00e8mes et \u00e0 garantir la fiabilit\u00e9 de vos syst\u00e8mes.<\/p>\n\n\n\n<p>Dans cet article, nous allons explorer l'essentiel de la surveillance de PostgreSQL, depuis les vues du syst\u00e8me jusqu'aux outils avanc\u00e9s.<\/p>\n\n\n\n<!--more-->\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi surveiller PostgreSQL ?<\/h2>\n\n\n\n<p>La surveillance vous permet de :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9tecter et r\u00e9soudre les goulets d'\u00e9tranglement en mati\u00e8re de performances.<\/li>\n\n\n\n<li>Suivre les sessions actives et les verrous.<\/li>\n\n\n\n<li>Capturer les statistiques d'ex\u00e9cution des requ\u00eates.<\/li>\n\n\n\n<li>Assurer une disponibilit\u00e9 et une stabilit\u00e9 \u00e9lev\u00e9es.<\/li>\n<\/ul>\n\n\n\n<p>Sans surveillance proactive, les requ\u00eates lentes, les sessions bloqu\u00e9es et la mauvaise gestion des ressources peuvent d\u00e9grader silencieusement les performances.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Outils de surveillance int\u00e9gr\u00e9s<\/h2>\n\n\n\n<p>PostgreSQL est livr\u00e9 avec plusieurs tables et vues de catalogue qui fournissent des informations pr\u00e9cieuses :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>pg_stat_activit\u00e9<\/strong> - Affiche les sessions et les requ\u00eates SQL en cours.<\/li>\n\n\n\n<li><strong>pg_locks<\/strong> - Affiche les verrous d\u00e9tenus par les transactions en cours.<\/li>\n\n\n\n<li><strong>pg_stat_database<\/strong> - Fournit des statistiques sur l'activit\u00e9 de la base de donn\u00e9es.<\/li>\n\n\n\n<li><strong>pg_stat_user_tables<\/strong> - Surveille l'activit\u00e9 au niveau des tables, comme les insertions, les mises \u00e0 jour et les suppressions.<\/li>\n\n\n\n<li><strong>pg_stat_user_indexes<\/strong> - Suivi de l'utilisation de l'index.<\/li>\n\n\n\n<li><strong>pg_stat_progress_vacuum \/ create_index \/ cluster<\/strong> - Indique l'\u00e9tat d'avancement des t\u00e2ches de maintenance.<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udc49 Ces vues vous donnent un aper\u00e7u en temps r\u00e9el de ce qui se passe dans votre cluster.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Extensions pour une meilleure compr\u00e9hension<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>pg_stat_statements<\/strong> - Suivi des statistiques d'ex\u00e9cution de toutes les requ\u00eates, pour vous aider \u00e0 identifier les requ\u00eates SQL lentes.<\/li>\n\n\n\n<li><strong>auto_explain<\/strong> - Enregistre les plans d'ex\u00e9cution des requ\u00eates dont la dur\u00e9e d\u00e9passe un seuil configur\u00e9.<\/li>\n\n\n\n<li><strong>pg_badger<\/strong> - Analyse les journaux PostgreSQL pour g\u00e9n\u00e9rer des rapports de performance.<\/li>\n<\/ul>\n\n\n\n<p>Ces outils sont particuli\u00e8rement utiles pour l'analyse et l'optimisation \u00e0 long terme.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">PostgreSQL Enterprise Manager (PEM)<\/h2>\n\n\n\n<p>Pour les entreprises qui ont besoin d'une surveillance centralis\u00e9e, <strong>Postgres Enterprise Manager (PEM)<\/strong> fournit :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Des tableaux de bord avec des mesures de la sant\u00e9 du syst\u00e8me.<\/li>\n\n\n\n<li>D\u00e9bogueur de requ\u00eates et profileur.<\/li>\n\n\n\n<li>Alertes et planification des t\u00e2ches.<\/li>\n\n\n\n<li>Gestion de la sauvegarde et du basculement.<\/li>\n\n\n\n<li>Int\u00e9gration avec d'autres syst\u00e8mes de surveillance via des API et des webhooks.<\/li>\n<\/ul>\n\n\n\n<p>PEM est id\u00e9al pour les administrateurs de bases de donn\u00e9es qui g\u00e8rent plusieurs clusters \u00e0 grande \u00e9chelle.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Principaux param\u00e8tres d'enregistrement<\/h2>\n\n\n\n<p>Vous pouvez configurer PostgreSQL pour qu'il enregistre des informations utiles en modifiant les param\u00e8tres de la section <strong>postgresql.conf<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>d\u00e9claration_min_dur\u00e9e_log<\/strong> - Enregistre les requ\u00eates de plus de X millisecondes.<\/li>\n\n\n\n<li><strong>log_connections \/ log_disconnections<\/strong> - Suivi de l'activit\u00e9 de la session.<\/li>\n\n\n\n<li><strong>log_lock_waits<\/strong> - Permet d'identifier les requ\u00eates bloquantes.<\/li>\n\n\n\n<li><strong>Fichiers log_temp<\/strong> - D\u00e9tecte l'utilisation excessive de fichiers temporaires.<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udc49 L'ajustement de ces param\u00e8tres vous permet de d\u00e9tecter rapidement les requ\u00eates probl\u00e9matiques.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Questions pratiques sur le contr\u00f4le<\/h2>\n\n\n\n<p>Voici quelques exemples rapides que les administrateurs de bases de donn\u00e9es peuvent utiliser quotidiennement :<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\n-- Check current running queries\nSELECT pid, usename, state, query\nFROM pg_stat_activity;\n\n-- Identify blocking sessions\nSELECT pid, pg_blocking_pids(pid) AS blocked_by, query\nFROM pg_stat_activity;\n\n-- Find top queries by execution time (requires pg_stat_statements)\nSELECT query, calls, total_exec_time\nFROM pg_stat_statements\nORDER BY total_exec_time DESC\nLIMIT 5;\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9flexions finales<\/h2>\n\n\n\n<p>La surveillance ne consiste pas seulement \u00e0 d\u00e9tecter les probl\u00e8mes, mais aussi \u00e0 s'assurer que vos bases de donn\u00e9es PostgreSQL fonctionnent au maximum de leurs performances. <\/p>\n\n\n\n<p>PostgreSQL 16 fournit de puissantes statistiques et extensions int\u00e9gr\u00e9es, tandis que des outils tels que PEM ajoutent des capacit\u00e9s de niveau entreprise.<\/p>","protected":false},"excerpt":{"rendered":"<p>La surveillance des bases de donn\u00e9es est l'une des t\u00e2ches les plus critiques pour tout administrateur de bases de donn\u00e9es. PostgreSQL offre une large gamme d'outils int\u00e9gr\u00e9s et d'extensions pour vous aider \u00e0 suivre les performances, \u00e0 r\u00e9soudre les probl\u00e8mes et \u00e0 assurer la fiabilit\u00e9 de vos syst\u00e8mes. Dans cet article, nous allons explorer les \u00e9l\u00e9ments essentiels de la surveillance de PostgreSQL, depuis les vues du syst\u00e8me jusqu'aux outils avanc\u00e9s.<\/p>","protected":false},"author":1,"featured_media":6500,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_focus_keyword":"","rank_math_title":"","rank_math_description":"Keep your PostgreSQL database healthy with monitoring tools in PostgreSQL 16. Explore built-in tools and extensions to track performance, troubleshoot issues, and ensure system reliability.","rank_math_robots":"","rank_math_og_title":"","rank_math_og_description":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[126],"tags":[135,129],"class_list":["post-6497","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-postgresql","tag-fundamentals","tag-monitoring"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/rootfan.com\/wp-content\/uploads\/pexels-photo-2649403.jpeg?fit=1880%2C1254&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts\/6497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/comments?post=6497"}],"version-history":[{"count":4,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts\/6497\/revisions"}],"predecessor-version":[{"id":6538,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts\/6497\/revisions\/6538"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/media\/6500"}],"wp:attachment":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/media?parent=6497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/categories?post=6497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/tags?post=6497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}