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

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

Mot-clé - postgresql

Fil des billets - Fil des commentaires

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

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

mardi, 5 février 2008

PostgreSQL v8.3 dans les bacs !

Voilà après 3 release candidate, 15 mois de travail, 300 patchs, 200 contributeurs, PostgreSQL 8.3 vient de sortir avec quelques semaines de retard sur le planning, mais avec son lot de très bonnes nouvelles. Vous pouvez prendre connaissance de l'annonce presse officielle pour connaître le détail des nouvelles fonctionnalités ou voir la matrice des fonctionnalités répartie sur les 5 dernières versions.

Lire la suite...

samedi, 2 février 2008

Générer des listes de données

Voilà une fonction peut-être mal connue de PostgreSQL, mais qui permet de réaliser des listes automatiques de données en quelques secondes.

generate_series(start, stop)

Son utilisation peut vous rendre bien des services, tant pour des générations de tableaux rapides, que pour avoir des cohérences de données parfaites sur des données séquentielles manquantes, ou encore pour générer des listes avancées de données comme des dates par exemple.

Mais les exemples sont souvent plus parlant que de longs discours ...

Lire la suite...

mardi, 18 décembre 2007

L'espace disque de votre base de données

Votre base de données est volumineuse ... vous voyez aisément l'espace utilisé par le répertoire qui stocke vos données, mais quand est-il d'une table en particulier ? Comment se rendre compte facilement du volume que représente ces millions de données que vous gérez au quotidien ? Votre espace disque de stockage principal commence sérieusement à s'amoindrir ... ne serait-il pas temps de créer un nouveau tablespace pour optimiser les accès sur un autre espace disque ?

Des questions qui assurément vous sont venus un jour ou l'autre, et qui sont très faciles à connaître avec PostgreSQL.

Lire la suite...

lundi, 17 décembre 2007

Toute la puissance de DISTINCT ON avec PostgreSQL

Qui n'a pas eu le besoin un jour de ressortir un listing contenant le détail de toutes les dernières commandes de ses clients ?

Jusque là ... il fallait souvent passer par des sous SELECT, un MAX et une vitesse de calcul pas souvent au rendez-vous ...
Du genre :

SELECT c.id, c.nom, f.id, f.date, f.total 
  FROM (clients c INNER JOIN factures f ON c.id = f.id)
       INNER JOIN
       (SELECT MAX(date) AS date_derniere_facture, id 
          FROM factures 
         GROUP BY id) AS mf ON mf.date_derniere_facture = f.date AND mf.id = c.id

Si vous êtes un utilisateur de PostgreSQL, vous pouvez vous simplifier la vie en utilisant la fonction DISTINCT ON, de la façon suivante :

SELECT DISTINCT ON (c.id) c.id, c.nom, f.id, f.date, f.total
  FROM clients c LEFT JOIN factures f ON c.id = f.id
 ORDER BY c.id, f.date DESC, f.id DESC;

Et le tour est joué, dans un temps record.

dimanche, 16 décembre 2007

Un module PostgreSQL pour Nagios

Enfin un véritable plugin PostgreSQL pour le célèbre outil de monitoring Nagios.

Il permet en autre fonctionnalités :

  • backends - contrôler le nombre de processus
  • connection - contrôler l'accessibilité
  • database_size - suivre l'évolution de la taille de la base de données
  • disk_space - contrôler l'espace disque de toutes les partitions (data, pg_log, pg_xlog, et tablespaces)
  • relation_size, index_size, and table_size - contrôler les tailles de ces différents éléments
  • last_analyze, last_vacuum - suivre la date d'exécution de ces tâches
  • locks - contrôler le nombre de locks
  • logfile - contrôler la présence des fichiers de log et leur accessibilité
  • query_runtime - contrôler les temps d'exécution de requêtes particulières
  • query_time - contrôler les temps maximum des requêtes
  • txn_wraparound - contrôler le nombre de transactions abandonnées
  • version - contrôler la version de la base de données
  • etc.

Pour en savoir plus sur ce module : check_postgres.pl

Psql plus pratique combiné à less

Pour ceux qui utilisent PostgreSQL en ligne de commande, donc via le logiciel psql, il n'est pas toujours évident de visualiser les données, de naviguer dans les résultats, ou encore de faire des recherches etc.
Pour se faciliter la vie, et combiner les fonctions de less à psql, il suffit d'éditer votre fichier de profile, en général le .profile de votre home sous Linux, en ajoutant :

export PAGER=less
export LESS="-iMSx4 -FX"

Puis, vous éditez, ou vous créez le cas échéant, toujours dans votre home le fichier .psqlrc de la façon suivante :

\timing
\pset pager always

Sachant que \timing vous permet en plus d'avoir le temps de calcul de chacune de vos requêtes, ce qui est bien pratique.

Essayez, et vous verrez que la présentation de vos résultats est beaucoup plus agréable, et que vous pouvez maintenant profiter de la recherche !

- page 2 de 3 -