Aller au contenu | Aller au menu | Aller à la recherche

mercredi 20 novembre 2024

Découvrez database.build : la base de données PostgreSQL... dans votre navigateur !

Ah, les bases de données… Ces monstres sacrés de l’informatique. Vous en avez probablement entendu parler : PostgreSQL, MySQL, MongoDB. Leurs noms évoquent des lignes de commande barbares et des migraines annoncées, non ? Mais attendez ! Et si je vous disais qu’il existe une façon de jouer avec PostgreSQL, sans installation compliquée, sans serveurs capricieux, directement depuis votre navigateur ? Bienvenue dans l’univers de database.build, le petit génie qui rend les bases de données aussi accessibles qu’un site de recettes de cuisine.

Lire la suite...

samedi 30 mars 2024

Plongez dans PostgresML : Quand PostgreSQL rencontre l'intelligence artificielle

Les bases de données et le machine learning... Deux mondes fascinants qui, jusqu'à récemment, semblaient évoluer sur des chemins parallèles. Mais que diriez-vous si je vous disais qu'il est désormais possible de marier ces deux univers directement au sein de votre base de données PostgreSQL ? Laissez-moi vous présenter PostgresML, la fusion parfaite entre stockage de données robuste et intelligence artificielle avancée.

Lire la suite...

dimanche 9 octobre 2022

Coup d'oeil au Query Parallelism

Le query parallelism est une fonctionnalité intégrée dans PostgreSQL depuis la version 9.6 qui permet de diviser une requête complexe en plusieurs tâches parallèles qui sont exécutées simultanément. Cette fonctionnalité permet d'améliorer les performances en répartissant la charge de travail sur plusieurs cœurs de processeur.

Lire la suite...

dimanche 25 septembre 2022

La réplication logique dans PostgreSQL

PostgreSQL intègre depuis la version 9.4 un système de réplication logique, elle l'a rendu accessible à tous véritablement depuis la version 10 avec les fonctions de publication et d'abonnement. Mais avant tout, qu'est-ce que la réplication logique ?

Lire la suite...

dimanche 8 mai 2022

Les Common Table Expressions (CTE)

Les CTE sont un moyen pratique de définir des sous-requêtes réutilisables dans une requête principale. Les CTE sont similaires aux vues, mais contrairement aux vues, elles ne sont pas stockées en permanence dans la base de données. Au lieu de cela, elles sont définies dans la requête elle-même et ne peuvent être référencées que dans la requête qui les contient.

Lire la suite...

dimanche 21 novembre 2021

la clause SEARCH dans un SELECT récursif

Toujours dans les nouvelles syntaxes apparues dans la release 14 de PostgreSQL autour de la récursivité et après avoir vu la clause CYCLE dans un précédent article, nous allons étudier la clause SEARCH.

Lire la suite...

jeudi 11 novembre 2021

La clause optionnelle CYCLE dans un SELECT récursif

Tout d'abord, voyons ce qu'est un SELECT récursif. Il s'agit d'une requête qui se réfère à elle-même dans la clause FROM pour produire une série de résultats itératifs. Cette fonctionnalité est souvent utilisée pour parcourir des structures de données hiérarchiques telles que les arbres.

Lire la suite...

vendredi 24 septembre 2021

Mieux comprendre le principe du LATERAL JOIN

Le LATERAL JOIN est une extension puissante de la clause JOIN standard dans PostgreSQL. Contrairement à un JOIN normal, qui combine les lignes de deux tables en fonction d'une condition de jointure, un LATERAL JOIN permet de combiner les lignes d'une table avec les résultats d'une requête sur une autre table.

Lire la suite...

dimanche 17 mai 2020

D'où proviennent les index INVALID ?

Cela ne vous est peut-être pas encore arrivé, ou vous lisez peut-être cet article pour juste chercher à comprendre ce que sont ces index INVALID car vous venez de les découvrir sur votre environnement.

Après de longues années d'utilisation de PostgreSQL je n'avais pas encore été confronté à ce phénomène. Il m'est apparu dans plusieurs cas de figure que nous allons rapidement détailler et surtout solutionner, enfin par les méthodes que j'ai pu trouver de mon côté.

Lire la suite...

jeudi 8 août 2019

Trouver si toutes vos clés étrangères sont indexées

PostgreSQL comme toutes les bases de données modernes, permet de lier une table à une autre pour valider son intégrité. Ainsi vous n'aurez pas une table qui s'appuie sur les données d'une autre table sans cohérence. Vous ne pourrez donc écrire dans le champ utilisé en référence d'une autre table que des données qui existent bien dans la table de référence. Cette possibilité est pratique, rassurante et surtout preuve d'une conception cohérente du modèle de données. Mais, elle n'est pas sans impacte sur la vitesse de la base de données si les bons index ne sont pas placés sur ces champs. PostgreSQL vous laisse cette liberté. Cela peut donc engendrer parfois des surprises, en particulier quand on efface des données de la table de référence. L'absence d'index va engendrer un ralentissement considérable au moment du DELETE et donc vous pénaliser.

Lire la suite...

samedi 3 novembre 2018

Effacer un gros volume de données sans tout bloquer

Si vous possédez comme moi des tables contenant des dizaines de millions de données, et qui surtout pour certaines contiennent plus de 20 clefs étrangères, vouloir effacer quelques 4 millions de lignes peut engendrer quelques blocages sur votre production. Une solution consiste donc à effacer les données par blocs de tailles raisonnables pour ne pas bloquer l'accès en écriture à cette table.

Lire la suite...

mercredi 8 novembre 2017

Changement de version majeure de PostgreSQL sous Debian / Ubuntu

Chaque release majeure de PostgreSQL (passage de la version 9.6 à la 10 par exemple) nécessite d'effectuer un dump et un restore de la base de données. Le travail n'est pas si fastidieux, mais nécessite quelques manipulations. Debian propose une migration plus simplifiée, destinées, à mon avis, aux bases de données de petites tailles, pour une migration rapide. Si vous travaillez sur des bases de plusieurs Go, cela fonctionnera, bien sur, mais l'interruption de service pourra être longue. Il existe d'autres moyens pour faire ce genre de chose avec des serveurs de réplication par exemple. Je vais donc vous décrire le process simple à mettre en place.

Lire la suite...

dimanche 11 septembre 2011

PostgreSQL : Affichez vos données en ligne avec Crosstab

Quel client ne vous a pas demandé un jour de lui présenter des statistiques mensuelles de ses données ? Souvent il fallait faire les calculs, obtenir des agrégations et coder une interface de présentation qui prenait des résultats en colonne pour les remettre en ligne. Laborieux, souvent source d'erreur et de perte de temps cette méthode n'avait pas tellement d'équivalent directement en base de données. La solution est apparue depuis quelques release de PostgreSQL, il suffit de savoir manipuler l'extension Crosstab.

Lire la suite...

mardi 14 décembre 2010

PostgreSQL : Taille des schémas

Suite à un vieux billet concernant l'espace disque de vos bases de données PostgreSQL, il m'a souvent été demandé comment trouver la taille engloutie par les différents schémas qui composent votre base de données.

Lire la suite...

lundi 9 août 2010

Migrer Akonadi sur PostgreSQL

Akonadi, le service de stockage des données de toute la partie gestionnaire d’informations personnelles (PIM) de KDE 4, est livré en standard avec une configuration faite pour MySQL. Comme vous pouvez vous en douter, les lenteurs, ajouté au côté capricieux des mises à jour de MySQL et ma passion pour PostgreSQL m'ont rapidement fait migrer vers ce dernier choix. Depuis, je n'ai plus jamais entendu parlé d'Akonadi et tout fonctionne parfaitement bien. Voilà donc un petit mémo pour migrer votre configuration vers PostgreSQL en quelques minutes.

Lire la suite...

samedi 24 octobre 2009

PostgreSQL : optimisez vos migrations de versions !


L'un des principal problème lié aux évolutions de PostgreSQL reste la migration des données. Changer de version va souvent de paire avec, une nouvelle installation de PostgreSQL, un dump complet de la base de données, puis un ré-import des données ... Dès que l'on a en place des bases de données de plusieurs centaines de giga-octets cela implique des interruptions de services longues, et donc de l'insatisfaction client. Heureuses la communauté de PostgreSQL est très active et s'est donc mis en tête de trouver des solutions à ce problème. La sortie de la version 8.4 de PostgreSQL fait donc apparaître une nouvelle option : la restauration en parallèle ... compatible également avec les versions précédentes de PostgreSQL (8.2 et 8.3) ! Un must have !

Lire la suite...

vendredi 23 octobre 2009

PostgreSQL : Vos index sont-ils utilisés ?


Pour compléter mon précédent billet sur L'espace disque de votre base de données, il est également particulièrement intéressant d'être en mesure d'évaluer si les index volumineux sont véritablement utiles en production. Un index peut être parfois coûteux en espace de stockage, mais savez-vous si il est véritablement pertinent pour votre applicatif en production ?

Lire la suite...

samedi 19 septembre 2009

Accélérer une migration de version

Un très bon article pour réaliser une migration de PostgreSQL v8.2 vers PostgreSQL v8.3 ... 9h sur le papier par un processus "classique", 2h30 au final ... joli travail !

Tous les détails sont à lire sur Speeding up dump/restore process

jeudi 9 octobre 2008

PostgreSQL ou MySQL ?

Je ne vais pas chercher à rentrer dans un débat sans fin sur le choix de la meilleure base de données open source ... Mais comme un de mes lecteurs me l'a demandé voilà déjà quelques temps je vais essayer objectivement de présenter chacune des bases et vous expliquer pourquoi j'ai porté mon choix sur l'une plus que sur l'autre.

Lire la suite...

dimanche 3 août 2008

PostgreSQL et son utilisation

Vous devez le savoir, je suis plutôt un inconditionnel de la base de données PostgreSQL, robuste, stable, et plutôt rapide.
J'utilise PostgreSQL dans le cadre de mon activité professionnelle avec des bases de plusieurs millions d'utilisateurs, et des tables pouvant atteindre plusieurs dizaines de millions d'enregistrements ... Mais bon, l'une de nos plus grosse base doit être dans les alentours de 450 Go.
Il existe des bases en production avec des volumes de données bien plus importants ... et se sont fait connaître il y a peu de temps des utilisateurs de PostgreSQL comme Yahoo! et la NASA.

Lire la suite...

- page 1 de 2