L’article explore trois méthodes pour gérer les chevauchements temporels dans une base de données PostgreSQL, en prenant l’exemple d’une application de location de vélos. La première méthode utilise deux colonnes (start_datetime et end_datetime) avec un déclencheur PL/pgSQL pour vérifier les conflits, ce qui est efficace mais complexe à maintenir. La deuxième méthode exploite le type TSTZRANGE et une contrainte d’exclusion avec un index GiST, offrant une solution plus élégante et performante, surtout depuis PostgreSQL 9.2. Enfin, la troisième méthode, introduite avec PostgreSQL 18, utilise la clause WITHOUT OVERLAPS pour simplifier la déclaration de cette logique directement dans une contrainte unique. L’article compare les performances d’insertion, la taille des index et les temps de recherche : les solutions basées sur les plages de dates (range) sont plus rapides à l’insertion, mais les index GiST occupent plus d’espace disque. Les tests montrent aussi que l’optimisation des requêtes dépend fortement de la structure des index et du type de recherche effectué. En conclusion, le type range et la clause WITHOUT OVERLAPS apportent une gestion plus propre et intégrée des chevauchements, au prix d’un stockage légèrement plus important.
Jérémy Buget partage son retour d’expérience sur la création d’un chatbot IA spécialisé dans l’inclusion socio-professionnelle, en s’appuyant sur un corpus de documents issus de La communauté de l’inclusion. Le projet utilise une architecture locale avec Ollama (modèle gpt-oss:20b), un script de crawling en Node.js pour récupérer les fiches d’information, une base PostgreSQL avec l’extension pgvector pour stocker et indexer les embeddings (768 dimensions) générés via Sentence Transformers (nomic-embed-text-v2-moe). Le chatbot fonctionne en vectorisant les questions utilisateurs, en recherchant les documents pertinents par comparaison vectorielle (similarité cosinus), puis en générant des réponses sourcées via un LLM, le tout encapsulé dans une API FastAPI et une webapp simple. L’objectif était d’explorer l’exploitation de l’IA pour un usage métier précis, en garantissant des réponses fiables et ancrées dans le corpus documentaires. Le code source est disponible sur GitHub. Une démonstration concrète de RAG (Retrieval-Augmented Generation) avec des outils open-source. 
L’auteur partage son retour sur le DevFest Nantes 2025, une première pour lui en tant que participant et conférencier. Au programme : une keynote sur le "techlore" (folklore technologique moderne) par Dasha Ilina, des découvertes sur les trésors méconnus de PostgreSQL (CTE, JSONB, Foreign Data Wrapper…), une réflexion philosophique sur l’IA et la conscience, une analogie ludique entre Factorio et l’ingénierie logicielle, et un side project technique autour de la série Bref. Il a aussi co-animé un talk sur Kubernetes (Limits, QoS, PriorityClasses) avec Quentin Joly, et assisté à des retours d’expérience sur Karpenter/KEDA pour le FinOps et un agent vocal "trouveur de chaussettes" mêlant RAG et LLM. L’ambiance networking et les soirées ont complété une édition riche en échanges et en apprentissages.
L'article explique comment utiliser et interpréter les plans d'exécution dans PostgreSQL pour optimiser les performances des requêtes. Il commence par souligner l'importance de l'utilisation de la commande EXPLAIN ANALYZE pour comprendre comment PostgreSQL exécute une requête. L'article détaille les différents éléments d'un plan d'exécution, tels que les scans séquentiels et les scans d'index, et explique comment lire ces plans pour identifier les goulots d'étranglement. Il fournit également des conseils pour optimiser les requêtes, comme l'ajout d'index et la réécriture des requêtes pour une meilleure performance. Enfin, l'article aborde les options utiles de EXPLAIN et donne des pistes pour résoudre les problèmes courants identifiés dans les plans d'exécution.
En 2024, Redis a changé de licence, incitant l'auteur à explorer PostgreSQL comme alternative pour gérer des données volatiles, offrant une meilleure organisation des données et simplifiant la stack technique. PostgreSQL permet de structurer les données de manière plus élégante grâce à l'héritage de tables et gère l'expiration des données via des requêtes planifiées, bien que cela nécessite une gestion manuelle. Bien que Redis soit plus performant, PostgreSQL, avec des tables UNLOGGED, offre des performances suffisantes pour la plupart des applications, tout en simplifiant l'infrastructure et en évitant les problèmes de licence.
L'autrice utilise EXPLAIN avant de lancer la requête - ce qui calcule son plan sans l'exécuter - afin de ne pas surcharger sa base de données avec une requête lente
Elle utilise EXPLAIN ANALYZE après l'exécution de sa requête afin de comprendre pourquoi elle est lente.
La syntaxe présentée est celle de PostgreSQL - à adapter donc selon le SGBD.
Le jour 3 a commencé par une keynote sur l'informatique quantique par Fanny Bouton d'OVHcloud, qui a expliqué que la suprématie quantique n'est pas attendue avant 15 à 30 ans. Elle a souligné l'importance de la formation et l'existence de six types d'ordinateurs quantiques en France. Ensuite, Thibaut Giraud a discuté des capacités des LLM (Large Language Models), notamment leur compréhension limitée mais non nulle. Laetitia Avrot a présenté des fonctionnalités méconnues de PostgreSQL à travers une mise en scène claire et amusante. L'auteur a manqué une session sur les tests de charge mais a participé à "Speechless", un exercice d'improvisation. L'après-midi a été écourtée par un départ anticipé, mais il a eu des discussions enrichissantes et a remercié l'équipe d'organisation et les sponsors.
L'article explique comment PostgreSQL stocke les données sur le disque. Il commence par introduire les concepts de base des moteurs de bases de données relationnelles et se concentre sur PostgreSQL, en raison de sa popularité parmi les développeurs. L'auteur utilise un exemple pratique pour illustrer la structure des données dans PostgreSQL, en montrant comment les tables et les index sont organisés en segments et en pages. Il mentionne également que PostgreSQL utilise des fichiers de données pour stocker les informations de la base de données, et que ces fichiers peuvent être copiés pour créer des sauvegardes. L'article souligne l'importance de comprendre ces mécanismes internes pour optimiser les performances et la gestion des bases de données .
L'article fournit un guide complet pour configurer et optimiser la réplication logique Pub/Sub dans PostgreSQL, en mettant l'accent sur la flexibilité et la fiabilité du système.
Il y a un outil pour faire la mise à jour de Postgres : pg_upgrade
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Pas si simple en SQL... notamment pour les performances
Tout est dans le titre
Pour résumer PostgreSQL permet d'ajouter une contrainte d'unicité sur une période donnée. Pratique pour être sûr de ne générer qu'une seule facture par client sur une période.
 
