<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://sebastien.lardiere.net/blog/index.php/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>~/sebl[og] - Mot-clé - postgresql</title>
    <link>https://sebastien.lardiere.net/blog/index.php/</link>
    <atom:link href="https://sebastien.lardiere.net/blog/index.php/feed/tag/postgresql/rss2" rel="self" type="application/rss+xml" />
    <description></description>
    <language>fr</language>
    <pubDate>Mon, 08 Jun 2026 13:38:42 +0200</pubDate>
    <copyright></copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>PostgreSQL Hebdo #127</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2026/05/28/PostgreSQL-Hebdo-127</link>
        <guid isPermaLink="false">urn:md5:91f2075ba1aa4537690288962e01128e</guid>
        <pubDate>Thu, 28 May 2026 16:05:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>hugepage</category>
                  <category>pooler</category>
                  <category>postgresql</category>
                  <category>repack</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2026/04/21/waiting-for-postgresql-19-add-concurrently-option-to-repack/&quot;&gt;Understanding PostgreSQL REPACK Through repack.c&lt;/a&gt; : REPACK arrive dans PostgreSQL 19 ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2026/04/21/waiting-for-postgresql-19-add-concurrently-option-to-repack/&quot;&gt;Waiting for PostgreSQL 19 – Add CONCURRENTLY option to REPACK&lt;/a&gt; : avec son option CONCURRENTLY ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebuild.com/blog/repack-concurrently-pgsqueeze-gets-a-promotion/&quot;&gt;REPACK CONCURRENTLY: pg_squeeze Gets a Promotion&lt;/a&gt; : néanmoins, pg_repack conserve son utilité ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://richyen.com/postgres/2026/04/20/throughput_triangle.html&quot;&gt;The Postgres Performance Triangle&lt;/a&gt; : les 3 aspects de la performance ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://read.thecoder.cafe/p/linux-broke-postgresql&quot;&gt;How Linux 7.0 Broke PostgreSQL&lt;/a&gt; : Un nouveau noyau Linux, mais de nouveaux problèmes (gérable) avec PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebuild.com/blog/2026/04/24/huge-pages-end-to-end/&quot;&gt;Huge Pages, End to End&lt;/a&gt; : les Huge Pages à la rescousse ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.olucasandrade.com/blog/reacting-to-database-changes-in-real-time&quot;&gt;Reacting to Database Changes in Real-Time: How I Built a CDC Tool&lt;/a&gt; : capture des changements d'une base de données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/pgkeeper-building-the-bouncer-we-needed-for-postgres/&quot;&gt;PGKeeper: Building the bouncer we needed for Postgres&lt;/a&gt; : un nouveau Pooler, très interressant, à étudier.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-184-1710-1614-1518-and-1423-released-3297/&quot;&gt;PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 Released!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #124</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2026/01/07/PostgreSQL-Hebdo-124</link>
        <guid isPermaLink="false">urn:md5:a9f4a72ee21acdf6f7a7f3db0d44d69a</guid>
        <pubDate>Wed, 07 Jan 2026 15:47:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>constraint</category>
                  <category>extension</category>
                  <category>index</category>
                  <category>jit</category>
                  <category>lsn</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pinaraf.info/2025/10/jit-so-you-want-to-be-faster-than-an-interpreter-on-modern-cpus/&quot;&gt;JIT: so you want to be faster than an interpreter on modern CPUs…&lt;/a&gt; : la suite des recherches sur l'écriture d'un compilateur JIT pour PostgreSQL, très instructif ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pig.pgsty.com/repo/pgsql/&quot;&gt;Pigsty&lt;/a&gt; est un dépôt de paguets pour des extensions à PostgreSQL, apportant de nombreux paquets absents des dépôts communautaires ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://randoneering.tech/blog/pgfirstaid/pgfirstaid/&quot;&gt;pgFirstAid&lt;/a&gt; : c'est important d'avoir un kit de premier secours accessible facilement ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.morling.dev/blog/postgres-replication-slots-confirmed-flush-lsn-vs-restart-lsn/&quot;&gt;Postgres Replication Slots: Confirmed Flush LSN vs. Restart LSN&lt;/a&gt; : les détails de réplication des transactions peuvent avoir des conséquences sur le volume des fichiers WAL retenus dans une instance PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xata.io/blog/constraints-in-postgres&quot;&gt;What you should know about constraints in PostgreSQL&lt;/a&gt; : il est toujours utile d'avoir en tête les contraintes utilisables dans nos bases de données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boringsql.com/posts/vacuum-is-lie/&quot;&gt;VACUUM Is a Lie (About Your Indexes)&lt;/a&gt; : VACUUM est le pendant complexe et couteux de MVCC, et présente plusieurs facettes, dont la gestion des index ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/operating-system-upgrade-corrupts-indexes/&quot;&gt;Which indexes can be corrupted after an operating system upgrade?&lt;/a&gt; : cette question est présente depuis un moment, et il reste de nombreux systèmes à moderniser, avec cette approche rationnelle : c'est faisable ! Mettez à jour !&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #123</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2025/11/04/PostgreSQL-Hebdo-123</link>
        <guid isPermaLink="false">urn:md5:7e72279e0e2882618ea199b8f8672482</guid>
        <pubDate>Tue, 04 Nov 2025 16:04:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>index</category>
                  <category>planner</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://explain.technical.li/postgres-indexes-beyond-b-tree/&quot;&gt;Postgres Indexes Beyond B-Tree—GIN, GiST, BRIN, SP-GiST&lt;/a&gt; : les différents types d'index et leurs utilisations ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vondra.me/posts/how-often-is-the-query-plan-optimal/&quot;&gt;How often is the query plan optimal?&lt;/a&gt; : à propos de la méthode utilisée pour obtenir le meilleur plan d'exécution ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.glukhov.org/post/2025/09/postgresql-cheatsheet/&quot;&gt;PostgreSQL Cheatsheet: A Developer’s Quick Reference&lt;/a&gt; : liste consistante de ce qu'on peut faire avec PostgreSQL : commande, paramètre, l'essentiel y est ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vondra.me/posts/tuning-aio-in-postgresql-18/&quot;&gt;Tuning AIO in PostgreSQL 18&lt;/a&gt; : comme souvent avec PostgreSQL, les valeurs par défaut sont conservatrices !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2025/10/29/waiting-for-postgresql-19-add-psql-prompt-variable-for-search_path/&quot;&gt;Waiting for PostgreSQL 19 – Add psql PROMPT variable for search_path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pgfeaturediff.com/?from=17&amp;amp;to=18&quot; title=&quot;https://pgfeaturediff.com/?from=17&amp;amp;to=18&quot;&gt;https://pgfeaturediff.com/?from=17&amp;...&lt;/a&gt; : matrices des fonctionnalités de PostgreSQL&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pgversions.com/?version=15.3&quot; title=&quot;https://pgversions.com/?version=15.3&quot;&gt;https://pgversions.com/?version=15....&lt;/a&gt; : état des lieux des versions de PostgreSQL&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boringsql.com/posts/beyond-start-end-columns/&quot;&gt;Beyond Start and End: PostgreSQL Range Types&lt;/a&gt; : les types de données &quot;range&quot; sont vraiment mal connues et pas assez utilisé, cet article est très complet à ce sujet !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.enterprisedb.com/blog/changes-not-null-postgres-18&quot;&gt;Changes to NOT NULL in Postgres 18&lt;/a&gt; : à la fois une belle fonctionnalité et une aventure pour de nouveaux développeurs de PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://topicpartition.io/blog/postgres-pubsub-queue-benchmarks&quot;&gt;Kafka is fast -- I'll use Postgres&lt;/a&gt; : bien utilisé, PostgreSQL est largement suffisant, et l'asynchronisme d'une file de message résoud bien des problèmes.&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #122</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2025/09/19/PostgreSQL-Hebdo-122</link>
        <guid isPermaLink="false">urn:md5:23422438aa003201e7b4a0c892ee500a</guid>
        <pubDate>Wed, 17 Sep 2025 16:41:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>locks</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/&quot;&gt;SELECT FOR UPDATE considered harmful in PostgreSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/shayy/postgres-is-too-good-and-why-thats-actually-a-problem-4imc&quot;&gt;Postgres is Too Good (And Why That's Actually a Problem)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kmoppel.github.io/2025-08-06-no-you-dont-need-extensions-to-compact-postgres-tables/&quot;&gt;No, you don't necessarily need extensions to compact Postgres tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://raymondtukpe.com/sql-nulls-are-weird.html&quot;&gt;SQL NULLs are Weird! &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thatguyfromdelhi.com/2025/05/for-key-share-optimization-and-slru-trap.html&quot;&gt;FOR KEY SHARE optimization and the SLRU Trap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebuild.com/blog/2025/08/10/lies-damn-lies-and-llm-output/&quot;&gt;Lies, Damn Lies, and LLM Output&lt;/a&gt; : l'IA nous ment, et ceux qui s'en servent nous manipulent ! fuyez ! (attention : d'autres articles que celui mentionné existent !)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sebastien.lardiere.net/blog/index.php/post/2025/09/19/&quot;&gt;Partitioned table statistics&lt;/a&gt; : une bonne raison de lancer un ANALYZE hors Auto-vacuum.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.footcow.com/app/article/postgresql-18-beta-les-revolutions-qui-nous-attendent&quot;&gt;PostgreSQL 18 Beta: The revolutions that await us&lt;/a&gt; : PostgreSQL 18 arrive très bientôt !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18&quot;&gt;&quot;enable&quot; parameters will work differently in Postgres 18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.loxodata.com/post/postgresql-18-rc1/&quot;&gt;PostgreSQL 18 en RC1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;PostgreSQL 18 est attendu le 25 septembre !&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #121</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2025/04/13/PostgreSQL-Hebdo-121</link>
        <guid isPermaLink="false">urn:md5:c90be8abce913d1e7c33af533338e547</guid>
        <pubDate>Tue, 13 May 2025 16:47:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>datatype</category>
                  <category>postgresql</category>
                  <category>scalling</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kmoppel.github.io/2025-04-10-postgres-scaling-roadmap/&quot;&gt;A roadmap to scaling Postgres&lt;/a&gt; : Une liste complète de concepts à utiliser pour assurer une montée en charge de PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency/&quot;&gt;Optimizing Postgres table layout for maximum efficiency&lt;/a&gt; : Une explication simple et claire à propos de l'alignement des types de données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tselai.com/all-databases-are-just-files&quot;&gt;(All) Databases Are Just Files. Postgres Too&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cedardb.com/blog/postgres_compatibility/&quot;&gt;What It Takes to Be PostgreSQL Compatible&lt;/a&gt; : de nombreaux produits adoptent une compatibilité avec PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.danslimmon.com/2025/03/14/did-u-ever-read-so-hard-u-accidentally-wrote/&quot;&gt;did u ever read so hard u accidentally wrote?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-175-169-1513-1418-and-1321-released-3072/&quot;&gt;PostgreSQL 17.5, 16.9, 15.13, 14.18, and 13.21 Released!&lt;/a&gt; et en français &lt;a href=&quot;https://www.loxodata.com/post/postgresql-17-5/&quot;&gt;PostgreSQL 17.5 et autres correctifs&lt;/a&gt;  : à noter la fin de vie de PostgreSQL 13 en novembre ;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;À venir dans PostgreSQL 18 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2025/05/05/waiting-for-postgresql-18-add-function-to-get-memory-context-stats-for-processes/&quot;&gt;Add function to get memory context stats for processes&lt;/a&gt; : interessant de pouvoir suivre l'état d'un processus, cela dévoile beaucoup d'informations utile ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-18-beta-1-released-3070/&quot;&gt;PostgreSQL 18 Beta 1 Released!&lt;/a&gt; et en français &lt;a href=&quot;https://www.loxodata.com/post/postgresql-18-beta1/&quot;&gt;PostgreSQL 18 bêta 1&lt;/a&gt; : à vos tests !&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #120</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2025/02/21/PostgreSQL-Hebdo-120</link>
        <guid isPermaLink="false">urn:md5:269837a524d8a52ba1ab0bba7b071ad4</guid>
        <pubDate>Fri, 21 Feb 2025 16:20:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.octo.com/7-things-a-developer-should-know-about-databases&quot;&gt;7 things a developer should know about databases&lt;/a&gt; : de précieux conseils, à lire attentivement et à faire circuler auprès de vos équipes !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.dalibo.com//2025/02/10/patchs_parallelisations_2.html&quot;&gt;La suite des patchs sur la parallélisation &lt;/a&gt; : Au-delà du fond, qui est intéressant, c’est le point de vue sur le développement de PostgreSQL est mis en évidence, et cela permet de mieux comprendre cet aspect de la communauté PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.loxodata.com/post/pgwatch3/&quot;&gt;pgwatch3&lt;/a&gt; : quelques explications sur la nouvelle version de l'outil de supervision pgwatch ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twilio.com/en-us/blog/sqlite-postgresql-complicated&quot;&gt;SQLite or PostgreSQL? It's Complicated!&lt;/a&gt; : comparatif de performances sur de vraies données !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-174-168-1512-1417-and-1320-released-3018/&quot;&gt;PostgreSQL 17.4, 16.8, 15.12, 14.17, and 13.20 Released!&lt;/a&gt; et &lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/&quot;&gt;PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 Released!&lt;/a&gt; : mettez à jour !
&lt;ul&gt;
&lt;li&gt;en français : &lt;a href=&quot;https://www.loxodata.com/post/postgresql-17-4/&quot;&gt;PostgreSQL 17.4 et autres correctifs&lt;/a&gt; et  &lt;a href=&quot;https://www.loxodata.com/post/postgresql-17-3/&quot;&gt;PostgreSQL 17.3 et autres correctifs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/end-of-the-road-for-postgresql-streaming-replication/&quot;&gt;End of the road for PostgreSQL streaming replication?&lt;/a&gt; : pourquoi il est difficile de paralléliser le rejeu de la réplication dans une instance Standby ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/enhanced-postgres-release-notes&quot;&gt;Enhanced Postgres Release Notes&lt;/a&gt; : très bonne idée, et gros travail : on trouve maintenant un lien vers le commit pour chacune des entrées des notes de publication ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #119</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2025/01/31/PostgreSQL-Hebdo-119</link>
        <guid isPermaLink="false">urn:md5:4afab84687000dca03594533df6db079</guid>
        <pubDate>Fri, 31 Jan 2025 17:16:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>patroni</category>
                  <category>postgresql</category>
                  <category>replication</category>
                  <category>sql</category>
                  <category>vacuum</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2024/12/01/sql-best-practices-dont-compare-count-with-0/&quot;&gt;SQL best practices – don’t compare count(*) with 0&lt;/a&gt; : il n'est pas utile de compter quelque chose alors qu'on juste savoir s'il existe ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://raymondtukpe.com/sql-nulls-are-weird.html&quot;&gt;SQL NULLs are Weird!&lt;/a&gt; : maîtriser cet aspect du SQL n'est pas si évident, et pourtant fondamental ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://notso.boringsql.com/posts/deletes-are-difficult/&quot;&gt;DELETEs are difficult&lt;/a&gt;: tout savoir sur l'opération DELETE ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pgedge.com/blog/understanding-and-reducing-postgresql-replication-lag&quot;&gt;Understanding and Reducing PostgreSQL Replication Lag&lt;/a&gt; : le retard de réplication peut avoir de nombreux impacts, le mesurer et le maitriser est important ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebuild.com/blog/2025/01/28/vacuum-index_cleanup-off-considered-harmful/&quot;&gt;VACUUM (INDEX_CLEANUP OFF) Considered Harmful&lt;/a&gt; : attention aux options de commandes qui pourraient paraître intéressantes au premier abord ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.binwang.me/2024-12-02-PostgreSQL-High-Availability-Solutions-Part-1.html&quot;&gt;Jepsen Test on Patroni: A PostgreSQL High Availability Solution&lt;/a&gt; : test très complet de Patroni ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rodoq.medium.com/are-all-your-update-useful-6b8d548085bf&quot;&gt;Are all your UPDATE useful ?&lt;/a&gt; : Vos UPDATE sont-ils toujours utiles ?&lt;/li&gt;
&lt;li&gt;Le projet PostgreSQL Ecosystem est maintenant public : &lt;a href=&quot;https://www.loxodata.com/post/pg-ecosystem/&quot; title=&quot;https://www.loxodata.com/post/pg-ecosystem/&quot;&gt;https://www.loxodata.com/post/pg-ec...&lt;/a&gt; et &lt;a href=&quot;https://pg-ecosystem.gitlab.io/pg-ecosystem/&quot; title=&quot;https://pg-ecosystem.gitlab.io/pg-ecosystem/&quot;&gt;https://pg-ecosystem.gitlab.io/pg-e...&lt;/a&gt; ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #118</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/11/22/PostgreSQL-Hebdo-118</link>
        <guid isPermaLink="false">urn:md5:b2ed63e032f5c07c4460e567c6b98b5b</guid>
        <pubDate>Fri, 22 Nov 2024 17:09:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>autovacuum</category>
                  <category>dump</category>
                  <category>plpgsql</category>
                  <category>postgresql</category>
                  <category>vacuum</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pgversions.com/&quot; title=&quot;https://pgversions.com/&quot;&gt;https://pgversions.com/&lt;/a&gt; : outil permettant de connaitre les différences entre une version mineure et l'état actuel de PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pgpedia.info/blog/index.html&quot; title=&quot;https://pgpedia.info/blog/index.html&quot;&gt;https://pgpedia.info/blog/index.htm...&lt;/a&gt; : blog résumant l'activité de développement de PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html&quot;&gt;Why pg_dump Is Amazing&lt;/a&gt; : oui, pg_dump est un bon outil, très utile, qu'il faut maitriser ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://databaserookies.wordpress.com/2024/11/02/plpgsql-how-conditional-expressions-are-evaluated/&quot;&gt;PL/pgSQL Secrets: How Conditional Expressions Are Parsed and Evaluated Under the Hood.&lt;/a&gt; : ou on comprend qu'un IF est en fait un SELECT ;&lt;/li&gt;
&lt;li&gt;Publication de PostgreSQL 17.2 : &lt;a href=&quot;https://www.loxodata.com/post/postgresql-17-2/&quot; title=&quot;https://www.loxodata.com/post/postgresql-17-2/&quot;&gt;https://www.loxodata.com/post/postg...&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/a-change-to-relresultinfo-a-near-miss-with-postgres-17-1&quot;&gt;A change to ResultRelInfo - A Near Miss with Postgres 17.1&lt;/a&gt; : retour sur un petit couac&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://challahscript.com/what_i_wish_someone_told_me_about_postgres&quot;&gt;What I Wish Someone Told Me About Postgres&lt;/a&gt; : le plein de bonnes idées à retenir ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stormatics.tech/blogs/scenarios-that-trigger-autovacuum-in-postgresql&quot;&gt;Scenarios That Trigger Autovacuum in PostgreSQL&lt;/a&gt; : article assez complet sur le fonctionnement d'autovacuum.&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #117</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/31/10/PostgreSQL-Hebdo-117</link>
        <guid isPermaLink="false">urn:md5:ca84ed728abe68b09b693fa3a8ea401f</guid>
        <pubDate>Thu, 31 Oct 2024 17:00:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>backup</category>
                  <category>documentation</category>
                  <category>planner</category>
                  <category>postgresql</category>
                  <category>rust</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html&quot;&gt;Is pg_dump a Backup Tool?&lt;/a&gt; : la sauvegarde, et la restauration des données, et en réalité un processus, et non pas juste un problème d'outil. pg_dump est un outil qui peut faire partie du processus de sauvegarde/restauration, et ça peut-être utile pour BACK UP, c'est-à-dire revenir dans un état normal ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-17-released-2936/&quot;&gt;PostgreSQL 17 Released!&lt;/a&gt; : Publication de PostgreSQL 17.0 ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/whats-so-great-about-postgresql-v17/&quot;&gt;What's so great about PostgreSQL v17?&lt;/a&gt; : aperçu de quelques fonctionnalités de PostgreSQL 17 ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/lifen/as-rails-developers-why-we-are-excited-about-postgresql-17-27nj&quot;&gt;As Rails developers, why we are excited about PostgreSQL 17 &lt;/a&gt; : PostgreSQL 17 du point de vue d'un développeur Rails ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://notso.boringsql.com/posts/custom-postgresql-extensions-with-rust/&quot;&gt;Custom PostgreSQL extensions with Rust&lt;/a&gt; : comment faire une extension PostgreSQL en Rust ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://danolivo.substack.com/p/7456653e-9716-4e91-ad09-83737784c665&quot;&gt;PostgreSQL 'VALUES -&amp;gt; ANY' transformation&lt;/a&gt; : à propos de l'adaptation du Planner aux requêtes des utilisateurs ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amitkapila16.blogspot.com/2024/09/online-upgrading-logical-and-physical.html?m=1&quot;&gt;Online Upgrading Logical and Physical Replication Nodes&lt;/a&gt; : à propos de la réplication logique lors d'une mise à jour majeure ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2024/10/29/new-way-to-search-postgresql-documentation/&quot;&gt;New way to search PostgreSQL documentation&lt;/a&gt; : un prompt simple pour rechercher dans la documentation de PostgreSQL, à mettre dans ses bookmarks ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #116</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/09/09/PostgreSQL-Hebdo-116</link>
        <guid isPermaLink="false">urn:md5:6fbcca8d97ee60ece009dc72cf283aee</guid>
        <pubDate>Mon, 09 Sep 2024 16:06:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>index</category>
                  <category>patroni</category>
                  <category>pgbouncer</category>
                  <category>pgwatch</category>
                  <category>postgresql</category>
                  <category>sql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://begriffs.com/posts/2018-03-20-user-defined-order.html&quot;&gt;User-defined Order in SQL&lt;/a&gt; : Ordonner les informations, c'est souvent adopter un certain point de vue, et cette démarche fait partie de la modélisation des données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mccue.dev/pages/8-16-24-just-use-postgres&quot;&gt;Just use Postgres&lt;/a&gt; : passage en revue des alternatives à PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/pulse/do-you-still-need-pgbadger-youre-using-grafana-alicja-kucharczyk-cgfmf&quot;&gt;Do you still need pgBadger if you’re using Grafana?&lt;/a&gt; : Grafana ne remplace pas complètement un rapport pgBadger, dans lequel on trouve de nombreuses informations utiles à la compréhension du fonctionnement d'une instance PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/pulse/not-so-good-idea-pipe-syntax-sql-franck-pachot-dx6he/&quot;&gt;&lt;/a&gt; : De la façon dont le language SQL s'écrit, ou pourquoi on manipule des ensembles et non pas des flux ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cybertec-postgresql/pgwatch&quot; title=&quot;https://github.com/cybertec-postgresql/pgwatch&quot;&gt;https://github.com/cybertec-postgre...&lt;/a&gt; la prochaine version de PgWatch poursuit son développement avec la version 3.0 beta4&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dataegret.com/2024/08/handling_cancellation_request/&quot;&gt;Handling Cancellation Request&lt;/a&gt; : Comment annuler correctement une requête, depuis l'application client, vers un cluster PostgreSQL avec le gestionnaire de connexions PgBouncer ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.shayon.dev/post/2024/225/stop-relying-on-if-not-exists-for-concurrent-index-creation-in-postgresql/&quot;&gt;Stop Relying on IF NOT EXISTS for Concurrent Index Creation in PostgreSQL&lt;/a&gt; : à propos d'index invalide et de création conditionelle ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anyblockers.com/posts/postgres-as-a-search-engine&quot;&gt;Postgres as a search engine&lt;/a&gt; : Peut-on utiliser PostgreSQL comme moteur de recherche ?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://okbob.blogspot.com/2024/09/how-to-get-info-about-relations-between.html?m=1&quot;&gt;How to get info about relations between system tables?&lt;/a&gt; : à propos des liens internes du catalogue ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-17-rc1-released-2926/&quot;&gt;PostgreSQL 17 RC1 Released!&lt;/a&gt;  (et en français : &lt;a href=&quot;https://www.loxodata.com/post/postgresql-17-rc1/&quot; title=&quot;https://www.loxodata.com/post/postgresql-17-rc1/&quot;&gt;https://www.loxodata.com/post/postg...&lt;/a&gt;) : la date prévue pour PostgreSQL 17.0 est le 26 septembre !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/patroni/patroni/blob/master/docs/releases.rst#version-401&quot;&gt;Patroni 4.0&lt;/a&gt; : nouvelle version de l'outil de gestion de la haute disponibilité, avec quelques ruptures de compatibilité ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #115</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/08/09/PostgreSQL-Hebdo-115</link>
        <guid isPermaLink="false">urn:md5:17b0e271d47e7602f82929f2c63b2346</guid>
        <pubDate>Fri, 09 Aug 2024 16:39:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>beta</category>
                  <category>disk</category>
                  <category>planner</category>
                  <category>pooler</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://swizec.com/blog/why-sql-is-forever/&quot;&gt;Why SQL is Forever&lt;/a&gt; : billet sur la pertinence du SQL et des transactions face aux bases de données « NoSQL », et sur le point de vue de Stonebraker (le créateur de PostgreSQL) à ce sujet ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ubicloud.com/blog/difference-between-running-postgres-for-yourself-and-for-others&quot;&gt;Difference between running Postgres for yourself and for others&lt;/a&gt; : comparaison des modes d'hébergement d'une instance PostgreSQL (du point de vue d'un clouder) ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://proopensource.it/blog/postgresql-connection-poolers&quot;&gt;PostgreSQL Connection Poolers&lt;/a&gt; : court billet sur les gestionnaires de connexions à PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://danolivo.substack.com/p/designing-a-prototype-postgres-plan&quot;&gt;Designing a Prototype: Postgres Plan Freezing&lt;/a&gt; : intéressante démarche à propos de la mise en cache de plan d'exécution de requêtes ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://drew.silcock.dev/blog/how-postgres-stores-data-on-disk/&quot;&gt;How Postgres stores data on disk – this one's a page turner&lt;/a&gt; : article complet sur la technique de stockage des donnés de PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-164-158-1413-1316-1220-and-17-beta-3-released-2910/&quot;&gt;PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, and 17 Beta 3 Released!&lt;/a&gt; (en français : &lt;a href=&quot;https://www.loxodata.com/post/postgresql-16-4/&quot;&gt;PostgreSQL 16.4 et autres correctifs&lt;/a&gt;) : Troisième Bêta pour PostgreSQL 17 ! À vos tests !&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;À venir :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le programme de PgConf Europe 2024, qui a lieu à Athènes, est publié : &lt;a href=&quot;https://www.postgresql.eu/events/pgconfeu2024/schedule/&quot; title=&quot;https://www.postgresql.eu/events/pgconfeu2024/schedule/&quot;&gt;https://www.postgresql.eu/events/pg...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #113</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/06/14/PostgreSQL-Hebdo-113</link>
        <guid isPermaLink="false">urn:md5:e571b73b9e26773ac8a69357dad25fe1</guid>
        <pubDate>Fri, 14 Jun 2024 16:25:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>ldap2pg</category>
                  <category>patroni</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.percona.com/blog/administering-a-patroni-managed-postgresql-cluster/&quot;&gt;Administering a Patroni Managed PostgreSQL Cluster&lt;/a&gt; : un tutoriel assez complet pour prendre en main Patroni ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.stephane-robert.info/docs/services/bdd/relationnelles/introduction/&quot;&gt;Les bases de données relationnelles&lt;/a&gt; et &lt;a href=&quot;https://blog.stephane-robert.info/docs/services/bdd/relationnelles/postgresql/introduction/&quot;&gt;Introduction à PostgreSQL&lt;/a&gt; : Deux documentations, en français, claires et accessibles ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.dalibo.com/2024/06/03/ldap2pg-6.1.html&quot;&gt;ldap2pg 6.1 disponible&lt;/a&gt; : nouvelle version de l'outil ldap2pg, qui permet de synchroniser des rôles depuis un annuaire ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.enterprisedb.com/blog/finding-memory-leaks-postgres-c-code&quot;&gt;Finding memory leaks in Postgres C code&lt;/a&gt; : quelques explications simples à propos d'outils détectant une éventuelle fuite mémoire dans PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL_17_Beta_1_New_Features_en_202405125-1.pdf&quot;&gt;PostgreSQL 17 New Features With Examples (Beta 1)&lt;/a&gt; (pdf)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog-postgresql.verite.pro/2024/06/07/pg17-utf8-collation.html&quot;&gt;On analyse la nouvelle collation de PostgreSQL 17&lt;/a&gt; : les tris et recherche de texte nécessitent de correctement choisir les collations, et la version 17 simplifie ce choix ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rss2tg.duck.consulting/tuning_postgresql_to_reduce_ssd_wearout.html&quot;&gt;Tuning PostgreSQL to reduce SSD wearout&lt;/a&gt; : intéressant, il y a des choses à prendre, mais attention à vos données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tembo.io/blog/optimizing-memory-usage&quot;&gt;How to Get the Most out of Postgres Memory Settings&lt;/a&gt; : retour sur l'utilisation de la mémoire par PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2024.pgconf.eu/call-for-papers/&quot; title=&quot;https://2024.pgconf.eu/call-for-papers/&quot;&gt;https://2024.pgconf.eu/call-for-pap...&lt;/a&gt; : Il est temps de proposer un sujet de présentation pour la conférence européenne sur PostgreSQL, qui aura lieu à Athènes au mois d'octobre.&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #112</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/05/31/PostgreSQL-Hebdo-112</link>
        <guid isPermaLink="false">urn:md5:4be5e04c7d8ca0091a6d6bd46239c770</guid>
        <pubDate>Fri, 31 May 2024 17:17:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>commit</category>
                  <category>postgresql</category>
                  <category>rust</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-17-beta-1-released-2865/&quot;&gt;PostgreSQL 17 Beta 1 Released!&lt;/a&gt; : c'est le moment de tester !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rhaas.blogspot.com/2024/05/hacking-on-postgresql-is-really-hard.html&quot;&gt;Hacking on PostgreSQL is Really Hard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ivdl.co.za/2024/05/29/achieving-a-100x-speedup-of-deletes-on-postgresql/&quot;&gt;Achieving a 100x speedup of DELETEs on PostgreSQL&lt;/a&gt; : performance des suppressions, clé étrangère et index ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://notso.boringsql.com/posts/custom-postgresql-extensions-with-rust/&quot;&gt;Custom PostgreSQL extensions with Rust&lt;/a&gt; : utiliser du Rust dans PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/why-do-i-have-a-slow-commit-in-postgresql/&quot;&gt;Why do I have a slow COMMIT in PostgreSQL?&lt;/a&gt; : différentes réponses qui nécessitent de plonger dans les arcanes de nos bases de données et des systèmes sous-jacents ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2024/05/22/waiting-for-postgresql-17-merge-split-partitions/&quot;&gt;Waiting for PostgreSQL 17 – MERGE / SPLIT partitions&lt;/a&gt; : Il est parfois nécessaire de ranger ses affaires ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cybertec-postgresql/pgwatch3/&quot;&gt;pgwatch3&lt;/a&gt; va prendre la suite de pgwatch2 ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #111</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/04/19/PostgreSQL-Hebdo-111</link>
        <guid isPermaLink="false">urn:md5:85b1d840684fc2a1ffbe745ac63e194e</guid>
        <pubDate>Fri, 19 Apr 2024 16:28:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>pgbouncer</category>
                  <category>postgresql</category>
                  <category>timescaledb</category>
                <description> &lt;p&gt;Lu ces derniers temps :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.shayon.dev/post/2023/355/do-you-really-need-foreign-keys/&quot;&gt;Do you really need Foreign Keys?&lt;/a&gt; : une clé étrangère a en effet des conséquences en termes de performance. Peut-on pour autant s'en passer ?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deblan.io/post/660/anonymiser-une-base-de-donnees-mysql-et-postgresql&quot;&gt;Anonymiser une base de données MySQL et PostgreSQL&lt;/a&gt; : l'anonymisation est devenue essentielle pour protéger les données personnelles tout en permettant de travailler sur des volumes de données proche de la réalité, donc souvent des données issues de système de production. Ce type d'outil devient donc indispensable ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.citusdata.com/blog/2024/04/04/pgbouncer-supports-more-session-vars/&quot;&gt;PgBouncer Connection Pooler for Postgres Now Supports More Session Vars&lt;/a&gt; : support des variables de sessions dans PgBouncer, très utile lors de l'utilisation du mode « transaction » ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aliramadhan.me/2024/03/31/trillion-rows.html&quot;&gt;Building a weather data warehouse part I: Loading a trillion rows of weather data into TimescaleDB&lt;/a&gt; : de l'utilisation de TimescaleDB, de COPY et autres outils pour ingérer des milliards d'enregistrements ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/commandprompt/pgmanage?tab=readme-ov-file#pgmanage-10-release&quot;&gt;PgManage 1.0 Release&lt;/a&gt; : première publication majeure du fork d'OmniDB ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.anayrat.info/2024/02/05/postgres-a-nouveau-elu-sgbd-de-lannee-en-2023-mais-je-suis-inquiet/&quot;&gt;Postgres à nouveau élu SGBD de l'année en 2023, mais je suis inquiet&lt;/a&gt; : en français, quelques réflexions sur le métier de DBA ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/SubscriberLink/968300/c3a1c8bb070076c8/&quot;&gt;The PostgreSQL community debates ALTER SYSTEM&lt;/a&gt; : intéressant retour sur l'adoption d'une fonctionnalité dans PostgreSQL, et les interactions parfois difficiles mais nécessaire ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pinaraf.info/2024/03/look-ma-i-wrote-a-new-jit-compiler-for-postgresql/&quot;&gt;Look ma, I wrote a new JIT compiler for PostgreSQL&lt;/a&gt; : un exemple de la modularité de PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/fr/blog/how-figmas-databases-team-lived-to-tell-the-scale/&quot;&gt;How Figma’s databases team lived to tell the scale&lt;/a&gt; : un bon exemple de gestion d'architecture de bases de données quand le volume s'acroit ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rmarcus.info/blog/2024/04/12/pg-over-time.html&quot;&gt;Ten years of improvements in PostgreSQL's optimizer&lt;/a&gt; : mesures des améliorations du Planner.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;À venir dans PostgreSQL 17 :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pganalyze.com/blog/5mins-postgres-17-faster-vacuum-adaptive-radix-trees&quot;&gt;Faster VACUUM with Adaptive Radix Trees&lt;/a&gt; : une amélioration des performances de VACUUM basée sur des travaux de recherches ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-add-support-for-merge-when-not-matched-by-source/&quot;&gt;Add support for MERGE … WHEN NOT MATCHED BY SOURCE.&lt;/a&gt; : à venir dans PostgreSQL 17, une amélioration de la commande MERGE permettant de travailler sur la source des données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2024/03/19/waiting-for-postgresql-17-add-returning-support-to-merge/&quot;&gt;Add RETURNING support to MERGE&lt;/a&gt; : support de la clause RETURNING (non-standard) pour la commande MERGE ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://andyatkinson.com/blog/2024/04/16/postgresql-17-merge-split-partitions&quot;&gt;Use Cases for Merging and Splitting Partitions With Minimal Locking in PostgreSQL 17&lt;/a&gt; : Fusion et division de partitions, attention toutefois aux verrous ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #110</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2024/01/19/PostgreSQL-Hebdo-110</link>
        <guid isPermaLink="false">urn:md5:d17193ca18c08cbd2825e17e9d261616</guid>
        <pubDate>Fri, 19 Jan 2024 14:28:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>fts</category>
                  <category>jdbc</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/&quot;&gt;PostgreSQL: Full text search with the “websearch” syntax&lt;/a&gt; : la recherche plein-texte de PostgreSQL est un outil pleinement fonctionnel et il est possible de l'intégrer dans une application web ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/postgres-toast-the-greatest-thing-since-sliced-bread&quot;&gt;Postgres TOAST: The Greatest Thing Since Sliced Bread?&lt;/a&gt; : les détails du stockage de données de type text ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jnidzwetzki/pg-lock-tracer&quot;&gt;Lock tracing tools for PostgreSQL&lt;/a&gt; : des outils pour tracer différents types de verrous dans PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ryanguill.com/postgresql/sql/2024/01/08/postgresql-wishlist.html&quot;&gt;My PostgreSQL wishlist&lt;/a&gt; : Noël est passé, c'est donc trop tard pour cette année ! Néanmoins, on y trouve de quoi réflechir sur les fonctionnalités manquantes à PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/parallel-query-postgresql-problems-jdbc-dbeaver/&quot;&gt;PostgreSQL parallel query problems in JDBC and DBeaver&lt;/a&gt; : des subtilités du pilote JDBC ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thenile.dev/blog/transaction-isolation-postgres&quot;&gt;Transaction Isolation in Postgres, explained&lt;/a&gt; : retour sur les niveaux d'isolations des transactions ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://explainextended.com/2023/12/31/happy-new-year-15/&quot;&gt;Happy New Year: GPT in 500 lines of SQL&lt;/a&gt; : Faire du LLM en SQL.&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #109</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2023/12/22/PostgreSQL-Hebdo-109</link>
        <guid isPermaLink="false">urn:md5:3d21ae6b0f15b454e701b7c9a9faed7a</guid>
        <pubDate>Fri, 22 Dec 2023 13:52:00 +0100</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>linux</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://karenjex.blogspot.com/2023/12/trying-to-be-barbie-in-kens-mojo-dojo.html&quot;&gt;Trying to be Barbie in Ken's Mojo Dojo Casa House&lt;/a&gt; : À lire ! cette transcription d'une conférence doit vous permettre de prendre conscience de la réalité de nos métiers !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.phoronix.com/news/Linux-Sched-Postgres-SPR&quot;&gt;New Scheduler Optimization Can Help Out PostgreSQL &amp;amp; More On Sapphire Rapids&lt;/a&gt; : des améliorations dans le noyau Linux qui peuvent concerner PostgreSQL (mais pas seulement) ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://drewdevault.com/2021/08/05/In-praise-of-Postgres.html&quot;&gt;In praise of PostgreSQL&lt;/a&gt;: PostgreSQL est vu, à juste titre, comme une contribution majeure du logiciel libre ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.infoworld.com/article/3711272/9-reasons-sql-has-got-to-go.html&quot;&gt;9 reasons SQL has got to go&lt;/a&gt; et la réponse &lt;a href=&quot;https://www.linkedin.com/pulse/sql-has-died-again-david-rolfe-5jvpe/&quot;&gt;SQL has died (again)&lt;/a&gt; : En réalité, le langage SQL et les SGBDR ont survécu à toutes les technologies censés les enterrer : le problème central reste le modèle de données et son exploitation, et ces « vieilles » technologies ont justement été créées pour cela ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/EnterpriseDB/pg_failover_slots&quot;&gt;pg_failover_slots&lt;/a&gt; : comment fiabiliser la réplication logique en synchronisant l'état du « slot » ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.systems/@andy_pavlo/111602495241147105&quot; title=&quot;https://discuss.systems/@andy_pavlo/111602495241147105&quot;&gt;https://discuss.systems/@andy_pavlo...&lt;/a&gt; : optimisation du fonctionnement de pgbouncer avec un kernel Linux ;&lt;/li&gt;
&lt;li&gt;Extracting SQL from WAL? &lt;a href=&quot;https://rjuju.github.io/postgresql/2023/12/06/extract-sql-from-wal.html&quot;&gt;part 1&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://rjuju.github.io/postgresql/2023/12/20/extract-sql-from-wal-part2.html&quot;&gt;part2&lt;/a&gt; : plongeons dans le code de PostgreSQL pour retrouver les données ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #107</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2023/10/27/PostgreSQL-Hebdo-107</link>
        <guid isPermaLink="false">urn:md5:a88d30474d12bca3788c8d4fb06dbdce</guid>
        <pubDate>Fri, 27 Oct 2023 17:53:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>pgbouncer</category>
                  <category>postgresql</category>
                <description>&lt;p&gt;&lt;img src=&quot;https://sebastien.lardiere.net/blog/public/logo_walking_elephant_2.jpg&quot; alt=&quot;logo_walking_elephant_2.jpg, oct. 2023&quot; class=&quot;media-center&quot; title=&quot;logo_walking_elephant_2.jpg, oct. 2023&quot; /&gt;&lt;/p&gt; &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0&quot;&gt;PgBouncer 1.21.0 - &quot;The one with prepared statements&quot; &lt;/a&gt; : une nouvelle version du pooler intégrant la gestion des requêtes préparées ;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/prepared-statements-in-transaction-mode-for-pgbouncer&quot;&gt;Prepared Statements in Transaction Mode for PgBouncer&lt;/a&gt; : et un article expliquant la notion ;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.paradedb.com/blog/introducing_bm25&quot;&gt;pg_bm25: Elastic-Quality Full Text Search Inside Postgres&lt;/a&gt; : une alternative à la recherche plein-texte integrée à PostgreSQL, s'appuyant sur des projets existants ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinheinz.dev/blog/105&quot;&gt;You Don't Need a Dedicated Cache Service - PostgreSQL as a Cache&lt;/a&gt; : utiliser PostgreSQL comme cache, et pourquoi pas ?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vadimkravcenko.com/shorts/database-migrations/&quot;&gt;Database Migrations&lt;/a&gt; : le changement de modèle de données, appelé ici une migration, est toujours une étape délicate à opérer à chaud. Pour bien faire, il faut maitriser des outils et méthodes dédiés, et bien étudier chaque phase ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html&quot;&gt;The collation versioning problem with ICU 73&lt;/a&gt; : les collations ICU sont très utiles, mais attention aux changements de versions, vraiment surprenant, qui nécessite de reconstruire les index ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/zalando/patroni/blob/master/docs/releases.rst#version-320&quot;&gt;Patroni 3.2.0&lt;/a&gt; : il est maintenant possible de marquer un nœud préféré pour une bascule sur incident (failover) ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #106</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2023/10/11/PostgreSQL-Hebdo-106</link>
        <guid isPermaLink="false">urn:md5:c737907e3925fe89c4fa1544fa4cef36</guid>
        <pubDate>Wed, 11 Oct 2023 15:46:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>calendar</category>
                  <category>iops</category>
                  <category>partman</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://postgresql.verite.pro/blog/2023/09/27/icu-traditional-calendars.html&quot;&gt;Using traditional calendars with ICU&lt;/a&gt; : très instructif, la conversion de date d'un calendrier à un autre en utilisant ICU ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peter.eisentraut.org/blog/2023/09/20/grouping-digits-in-sql&quot;&gt;Grouping digits in SQL&lt;/a&gt; : le chemin pour intégrer cette fonctionnalité n'est pas le plus simple, mais au moins, la notation est dans la norme SQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kmoppel.github.io/2023-09-28-til-when-was-my-postgres-cluster-initialized/&quot;&gt;TIL - When was my Postgres cluster initialized?&lt;/a&gt; : Ou l'on voit qu'on peut connaitre l'age d'une instance à partir de son identifiant ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.sequin.io/all-the-ways-to-capture-changes-in-postgres/&quot;&gt;All the ways to capture changes in Postgres&lt;/a&gt; : Intercepter un changement a de nombreuses applications possibles, et selon le besoin, différentes techniques existent ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/five-great-features-of-postgres-partition-manager&quot;&gt;Five Great Features of the PostgreSQL Partition Manager&lt;/a&gt; : pg_partman est le principal outil aidant à la mise en œuvre du partitionnement, et il s'enrichit de fonctionnalité avec la version 5 récemment publiée ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/understanding-postgres-iops&quot;&gt;Understanding Postgres IOPS: Why They Matter Even When Everything Fits in Cache&lt;/a&gt; : Comprendre les IOPS, comment PostgreSQL s'en sert, comment on peut observer les métriques associées et comment optimiser leurs utilisations ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/pg_resetwal-when-to-reset-the-wal-in-postgresql/&quot;&gt;pg_resetwal: When to reset the WAL in PostgreSQL&lt;/a&gt; : Toujours être très attentif aux conditions d'utilisation de cet outil, car il entraine une perte de données : à n'utiliser qu'en cas d'absolu nécessité !&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #105</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2023/09/20/PostgreSQL-Hebdo-105</link>
        <guid isPermaLink="false">urn:md5:45c4874c61057243076b7920fdfc42e5</guid>
        <pubDate>Wed, 20 Sep 2023 16:50:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>plpgsql</category>
                  <category>postgresql</category>
                <description> &lt;p&gt;lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/about/news/postgresql-16-released-2715/&quot;&gt;PostgreSQL 16 Released!&lt;/a&gt; : pas besoin de rc2, PostgreSQL 16 est disponible !
&lt;ul&gt;
&lt;li&gt;et en français : &lt;a href=&quot;https://www.loxodata.com/post/postgresql-16/&quot;&gt;Sortie de PostgreSQL 16&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/active-active-postgres-16&quot;&gt;Active Active in Postgres 16&lt;/a&gt; : Avec PostgreSQL 16, il est maintenant possible d'utiliser la réplication logique dans 2 directions pour une même table, avec quelques précautions ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learnsql.com/blog/history-of-sql-standards/&quot;&gt;The History of SQL Standards&lt;/a&gt; : la norme SQL a une histoire qui permet d'expliquer certaines particularités du language ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eversql.com/my-oracle-to-postgresql-migration-the-7-tools-that-made-it-possible/&quot;&gt;My Oracle to PostgreSQL Migration: The 7 Tools That Made It Possible&lt;/a&gt; : Un DBA Oracle montre sa boite à outils de migration vers PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stormatics.tech/umairs-planet-postgresql/improving-update-query-performance-using-heap-only-tuples-hot&quot;&gt;Improving UPDATE query performance using Heap-Only Tuples (HOT)&lt;/a&gt; : Comment optimiser les mises à jour de données ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fluca1978.github.io/2023/09/19/PostgreSQLFORAutodeclaredVariables.html&quot;&gt;FOR loops automatically declared variables in PL/PgSQL&lt;/a&gt; : Attention aux déclarations implicites des variables dans Pl/pgSQL ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>PostgreSQL Hebdo #104</title>
        <link>https://sebastien.lardiere.net/blog/index.php/post/2023/09/01/PostgreSQL-Hebdo-104</link>
        <guid isPermaLink="false">urn:md5:7e35cf87e1945abcf639330368d48ca4</guid>
        <pubDate>Fri, 01 Sep 2023 15:36:00 +0200</pubDate>
        <dc:creator>Sébastien Lardière</dc:creator>
                  <category>PostgreSQL</category>
                          <category>ha</category>
                  <category>postgresql</category>
                  <category>sql</category>
                <description> &lt;p&gt;Lu ces dernières semaines :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cybertec-postgresql.com/en/postgresql-v16-cool-new-features/&quot;&gt;Postgres v16: 14 Cool New Features&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.loxodata.com/post/postgresql-16-rc1/&quot;&gt;PostgreSQL 16 en RC1&lt;/a&gt; : la publication de PostgreSQL 16 approche ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/top-10-postgres-management-tasks&quot;&gt;Top 10 Postgres Management Tasks&lt;/a&gt; : Quelques conseils pertinents pour les administrateurs souhaitant maitriser leurs instances PostgreSQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.percona.com/blog/streamline-the-sql-code-guide-to-pgformatter/&quot;&gt;Streamline the SQL Code: Guide to pgFormatter&lt;/a&gt; : pgformatter est un excellent outil pour aider à la lecture et la compréhension des requêtes SQL ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ubuntu.com/blog/postgresql-high-availability&quot;&gt;PostgreSQL high availability made charmingly easy&lt;/a&gt; : Un outil pour faciliter le déploiement d'une stack PostgreSQL complète ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.timescale.com/blog/best-practices-for-picking-postgresql-data-types/&quot;&gt;Best Practices for Picking PostgreSQL Data Types&lt;/a&gt; : quels types de données faut-il choisir pour l'extension timescaledb ?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.depesz.com/2023/09/01/waiting-for-postgresql-17-add-to_bin-and-to_oct/&quot;&gt;Waiting for PostgreSQL 17 – Add to_bin() and to_oct()&lt;/a&gt; : l'usage de ces fonctions n'est pas si fréquent, mais c'est aussi l'occasion de montrer que le développement de la version 17 a déjà commencé ;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
      </channel>
</rss>
