Linux, Base de données Postgresql, développement, Internet, emailing et déliverabilité.

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

jeudi, 8 août 2019

Trouver les 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...

- page 1 de 3