PostgreSQL La base de donnees la plus sophistiquee au monde.

La planète francophone de PostgreSQL

jeudi 4 mars 2010

Guillaume Lelarge

Le planning de PGCon 2010 enfin disponible

Et c'est du lourd. Si je pouvais y aller, je crois que j'irais voir :

Et encore, ce ne sont que celles auxquels je tiens absolument à elles. Il y en a plein d'autres.

Évidemment, les vidéos seront certainement disponibles un peu après les conférences, comme cela a été le cas l'année dernière. Mais c'est clairement pas la même chose qu'être présent sur place, de pouvoir discuter avec les différents intervenants, bref de se sentir faire partie de la communauté. Un seul conseil : si vous avez la possibilité d'y aller, déplacez-vous. Et buvez un coup à ma santé avec les autres hackers car il y a peu de chance que j'y sois cette année (déjà là-bas l'année dernière... chacun son tour :) ).

À noter cette année les conférences de deux français bien connus de la communauté PostgreSQL française : Cédric Villemain (qui va parler de son module pgfincore) et Dimitri Fontaine (qui va raconter deux ans d'expérience avec Londiste).

Oh, et tant que vous êtes au Canada, profitez-en pour passer une voire deux semaines à visiter le pays, j'ai adoré ma visite.

mise à jour : lien vers la conf de Robert Haas corrigé, merci Thomas.

par Guillaume Lelarge le jeudi 4 mars 2010 à 08h17

mercredi 3 mars 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 28 février 2010

PostgreSQL 9.0alpha4 est disponible. À vos tests ! Détails et téléchargement : http://www.postgresql.org/developer/alpha http://www.postgresql.org/ftp/source/9.0alpha4

Les inscriptions pour la PGCon 2010 sont ouvertes : http://www.pgcon.org/2010/registration.php

Le BWPUG [ndt: Baltimore/Washington PUG] se réunira à Falls Church (Virginie, États-Unis) le 10 mars à 18h30 : http://www.xzilla.net/blog/2010/Feb/BWPUG-March-10th,-Falls-Church-take-two..html

L'appel aux conférenciers pour l'OSBridge est lancé ! http://opensourcebridge.org/events/2010/proposals/

Les nouveautés des produits dérivés

La fonctionnalité 9.0 de la semaine

La suite "pgbench" est maintenant multi-threadée, prenant ainsi avantage des processeurs à cœurs multiples.

Offres d'emplois autour de PostgreSQL en février

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le mercredi 3 mars 2010 à 00h27

samedi 27 février 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 21 février 2010

La "commitfest" finale de la 9.0 arrive à son terme. Merci à tous les relecteurs, etc. qui ont participé.

Les nouveautés des produits dérivés

La fonctionnalité 9.0 de la semaine

Vous pouvez maintenant contrôler, par colonne, le comportement du planificateur sur la distinction des données via la commande ALTER TABLE..ALTER COLUMN...SET (attribute=value, ...). Un attribut avec une valeur positive indique le nombre de données distinctes, 0 fait utiliser les résultats d'ANALYZE par le planificateur, et des valeurs négatives (entre -1 et 0) pousse le planificateur à estimer le nombre de données distinctes comme étant la multiplication de la valeur absolue de l'attribut et de l'estimation du nombre de lignes.

MAJ: Pour la 9.0, les attributs pourront être n_distinct ou n_distinct_inherited, et cela pourrait se développer d'avantage dans les futures versions majeures.

Offres d'emplois autour de PostgreSQL en février

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le samedi 27 février 2010 à 15h17

samedi 20 février 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 14 février 2010

Bonne Année du Tigre de la part du "PostgreSQL Global Development Group" !

Les nouveautés des produits dérivés

La fonctionnalité 9.0 de la semaine

Les messages d'erreur sur les violations de contrainte d'unicité sont maintenant plus détaillés.

Offres d'emplois autour de PostgreSQL en février

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le samedi 20 février 2010 à 15h06

dimanche 14 février 2010

Guillaume Lelarge

Petit résumé des trois dernières semaines sur pgAdmin - 3

J'ai une petite semaine de retard pour mon compte-rendu habituel sur mon travail pour pgAdmin. Certainement dû à une grosse flemme le week-end dernier, de retour du FOSDEM. Cela étant dit, c'est pas plus mal. Et ce n'est pas comme si rien ne s'est fait pendant ces trois semaines, loin de là :)

Voici une liste rapide:

  • fonctionnalités spécifiques à la 9.0
    • gestion des nouvelles options (COSTS et BUFFERS) de l'instruction SQL EXPLAIN ;
    • gestion de la nouvelle colonne attoptions dans pg_attribute ;
    • ajout du support du paramétrage par paire utilisateur/base de données ;
    • ajout des informations sur le Hot Standby et le Streaming Replication ;
  • autres
    • revue complète de la fenêtre de restauration d'une sauvegarde ;
    • ajout d'un historique des requêtes sauvegardé automatiquement ;
    • possibilité d'afficher les numéros de lignes dans l'outil de requêtage ;
    • possibilité de personnaliser les couleurs utilisées par la colorisation syntaxique ;
    • possibilité de personnaliser certains des fichiers utilisés par pgAdmin (fichier des favoris, fichier des macros, fichier de l'historique des requêtes).

Pour le coup du EXPLAIN, j'ai ajouté un menu « EXPLAIN ANALYZE », plutôt que de laisser l'ANALYZE en tant qu'option à cocher. Ça permet de faire plus rapidement cette action. Et j'ai ajouté les options BUFFERS et COSTS. Du coup, le menu ressemble à ceci :

explainmenu.png

Et voici le texte d'un nœud suite à l'exécution d'un « EXPLAIN (ANALYZE on, BUFFERS on) » :

explainbuffers.png

La page des propriétés d'une base a changé pour permettre de spécifier des variables pour le couple base/utilisateur :

dbguc.png

Avec une telle configuration, le panneau SQL indique ceci :

dbguc2.png

Oui, je sais, les couleurs du SQL sont affreuses. C'est dû à mon test du patch de Maga qui permet à tout un chacun de sélectionner les couleurs qui lui plaisent pour la colorisation syntaxique du SQL. Voici l'onglet de configuration de la colorisation :

sqlhighlighting.png

Ayant réalisé la relecture de ce patch, je suis bien content que Maga soit arrivé à le terminer, ce qui m'a permis de l'intégrer cet après-midi.

Tant qu'on parle de la configuration, j'ai écrit un patch pour permettre de déplacer les fichiers internes de pgAdmin (comme celui des favoris par exemple). Le but est qu'un utilisateur puisse placer ces fichiers dans un répertoire partagé et faire profiter ses petits collègues de ses trouvailles. Voici l'écran de configuration :

filelocations.png

L'outil de requêtage a subi de nombreuses modifications, comme la possibilité d'afficher les numéros de ligne (désactivable par un menu de l'outil) ainsi que l'enregistrement automatique des requêtes exécutées.

linenumber.png

La liste déroulante permet de sélectionner une ancienne requête pour la ré-exécuter. Il est aussi possible de supprimer certaines requêtes du fichier (bouton « Delete Current »), voire toutes les requêtes (bouton « Delete All »).

querytool1.png

Enfin, la dernière nouveauté, c'est l'ajout de quelques informations permettant de savoir si un serveur est en mode restauration :

hssr_server.png

Il a aussi fallu supprimer un ancien patch que j'avais fait. Pas si ancien vu qu'il date de cette année. En effet, la nouvelle option INPLACE de l'instruction VACUUM a été supprimée. C'est, je crois, le problème quand on réagit trop vite aux améliorations du code source de PostgreSQL : on peut avoir à défaire ce qu'on a déjà fait. C'est un peu navrant mais on se console assez facilement. Tout d'abord parce que le nouveau VACUUM FULL est bien plus rapide. Ensuite parce que git rend ce genre de manipulation très aisée. Un simple « git revert id_patch » et hop, j'ai le patch me permettant de supprimer ce que j'avais fait. Tout à fait impressionnant.

Le travail sur pgAdmin continue. Je dois tout d'abord remplacer le composant de sélection des couleurs par notre propre composant. En effet, celui de wxWidgets se révèle être très moche, limite inutilisable, sous Mac OS X. Ensuite, je pourrais enfin m'attaquer au support des contraintes d'exclusion, puis aux droits par défaut et enfin à la nouvelle syntaxe de création de table. S'il me reste un peu de temps, j'aimerais bien voir ce que je peux faire pour avoir des graphes dans la fenêtre d'état du serveur.

par Guillaume Lelarge le dimanche 14 février 2010 à 22h26

vendredi 12 février 2010

Jean-Christophe Arnu

PostgreSQL, encore abonné aux étiquettes.

J'ai pu sur framablog la traduction d'un article cette phrase :
Il y a de grandes chances que la communauté privilégie des forks existants de MySQL, probablement MariaDB de Widenius, qui est déjà intégrée au Launchpad d’Ubuntu. PostgreSQL, l’autre grande base de données open source, ne devrait pas tant en profiter car elle semble moins adaptée aux besoins des sites Web.
Ce genre d'affirmation à l'emporte pièce me fait bondir. S'il est vrai que MySQL bénéficie d'un réflexe conditionné (presque pavlovien) de la part des développeurs de sites webs interactifs. Il dénote surtout que la stratégie de MySQL AB/Sun/Oracle (dans l'ordre chronologique) envers les utilisateurs a été payante. Malheureusement, ces derniers n'apprennent rien de l'histoire et des déboires qu'ils auraient pu rencontrer à l'encontre de leur SGBD favori. Non respect des normes (ce qui est peu important pour le développement web, tant pis si on s'aliène à un seul standard, celui de MySQL), une assez grande quantité de bugs, une non tenue de charge sur des volumes moyens (et parfois l'impossibilité de faire des modifications à posteriori) et pour finir les acquisitions multiples du produit par différentes société qui font planer l'incertitude sur l'avenir du moteur font que MySQL peut s'avérer à postériori un mauvais choix de design de Système d'information, y compris pour le Web.

Le second point qui me gène c'est l'étiquette qui est collée sur PostgreSQL de SGBD « mal adapté aux problématiques web ». Certes, pendant longtemps PostgreSQL n'a pas bénéficié du choix des concepteur de web utilisant Windows comme plate-forme, plate-forme qui est, rappelons le, minoritaire dans les serveurs de production alors qu'en développement on trouve énormément de développeur sous Windows qui reste l'OS Corporate par défaut (au moins on en connait le coût réel). PostgreSQL est bien adapté au Web. Il permet d'appréhender de manière simple et efficace tout projet de ce type et d'aborder sereinement l'évolution d'un site en terme de trafic et de quantité de données. Les mécanismes qu'il est possible de mettre en place au sein de PostgreSQL afin d'améliorer les performances sont robustes et fiables. La mise en place de PostgreSQL au sein d'une infrastructure web est simple et sécurisée. PostgreSQL n'a jamais souffert de bugs majeurs après une release, preuve d'un travail de qualité effectué par une communauté (et non une entreprise) bien organisée. Enfin, vous me direz et le support? Je répondrais simplement que le support communautaire est excellent et très réactif, et si cela ne suffit pas, nombre d'entreprises de par le monde offre des solutions de support avancé pour PostgreSQL.

Il n'y a beaucoup de raison de reconsidérer dès maintenant le choix de MySQL ou tout autre fork pour un projet stable et performant en toutes situations : PostgreSQL.

par noreply@blogger.com (Jean-Christophe Arnu) le vendredi 12 février 2010 à 10h20

lundi 8 février 2010

Guillaume Lelarge

FOSDEM 2010

FOSDEM est un événement européen qui s'est donné pour but de réunir tous les développeurs européens (et plus si affinités) de projets libres et opensource. C'est certainement le plus réputé à ce jour.

Chaque année, Andreas Scherbaum se charge d'organiser la présence de PostgreSQL à cet événement. Si ma mémoire ne se trompe pas, il y a quatre ans, nous n'avions qu'un stand, entièrement géré par PGde, le groupe d'utilisateurs allemands de PostgreSQL. Et encore, un stand partagé avec le groupe BSD. L'année d'après, nos amis BSD-istes nous ont proposé de partager leur salle de conférences. Et là, ce fut une explosion. Les deux années suivantes, nous avions notre propre stand, parfois composé de deux tables, une vingtaine de contributeurs principalement européens pour aider sur le stand, et une salle de conférences. L'année dernière, des américains étaient même venus, preuve de l'importance de cet événement.

Autant dire que le week-end du FOSDEM est devenu un moment important dans le monde PostgreSQL. Cette année en est la suite logique.

Une préparation exemplaire d'Andreas, un stand avec pas mal de goodies, des conférences très intéressantes et des discussions passionnantes avec les autres contributeurs.

Je n'ai assisté qu'à trois conférences, donc je ne pourrais rendre compte que de celles-ci. Tout d'abord, celle de Dave Page sur les nouveautés de la future 9.0 et la façon dont le développement s'est déroulé. La salle était bondée, beaucoup devaient, au choix, s'assoir par terre ou rester debout. Le contenu était intéressant et plutôt bien géré par Dave. Évidemment, c'est le type même des conférences difficiles car il est impossible de connaître suffisamment chaque fonctionnalité. Donc il est passé rapidement sur certaines, faute de les connaître mieux pour pouvoir les développer. Étant donné que je les connaissais déjà bien, ça ne m'a pas permis d'apprendre grand-chose. Néanmoins, c'était intéressant et le public a eu l'air de bien apprécier.

Ensuite, Heikki est intervenu pour parler du Streaming Replication, une fonctionnalité qu'il connaît particulièrement bien vu qu'il a revu le patch et qu'il l'a commité. Cette fois, j'ai appris deux/trois choses. J'ai eu la confirmation qu'il est possible d'avoir plusieurs esclaves. Par contre, la cascade de serveurs n'est pas au menu de la 9.0. Enfin, il est possible de fonctionner sans archivage des journaux de transactions mais cela peut amener des soucis de performances. En effet, en cas de grand flux de données, le système peut basculer de restauration de flux à une restauration de journaux complets. Ce qui rend le système plus robuste. Quant aux perspectives futures, elles sont nombreuses : sauvegarde des fichiers gérée automatiquement (sauvegarde sur le maître, envoi et restauration sur l'esclave), réplication synchrone, esclaves en cascade, archivage à partir des esclaves, etc. En tout, une conférence bien menée, très appréciée même si le public était moins nombreux. En rentrant à l'hôtel, j'ai pu discuté de cette fonctionnalité avec Heikki pour voir comment améliorer mon patch pour pgAdmin. Et j'ai peut-être une solution qui va me permettre de répondre au commentaire de Magnus.

Simon Riggs, arrivé juste à temps de l'aéroport, a pris la suite de Heikki pour une conférence sur le Hot Standby. Il a divisé sa conférence en trois parties : l'utilisation du Hot Standby, une démonstration, et quelques remarques sur le développement d'un patch de cette taille. Ça a certainement été la conférence la plus étonnante et la plus déstabilisante pour moi. J'y ai appris par exemple que les verrous étaient propagés sur l'esclave. Verrouiller une table sur le maître et elle sera aussi bloquée sur l'esclave tant que le verrou n'est pas enlevé. La démonstration était assez simple. Elle a été effectuée par Heikki car le portable de Simon refusait obstinément de fonctionner avec le rétro-projecteur et que le clavier de Heikki a la disposition finlandaise. La partie la plus intéressante de cette conférence était la dernière, celle sur le développement. Il a fallu trois ans pour réaliser ce patch. On le doit principalement à la volonté de Simon qui y a investi énormément de temps et d'argent. Il y a eu six sponsors majeurs et un étudiant est intervenu dans le cadre du Google Summer Of Code (GSoC). Simon a trouvé la communauté et les entreprises généralement peu motivées et peu réactives : peu de sponsors, peu d'aide de la communauté. Son constat me semble assez juste pour ce type de (très gros) patchs. En effet, il faut garder à l'esprit que son patch fait plus de 10000 lignes (ce qui est bien supérieur à la majorité des patchs actuels... c'est peut-être même le plus gros patchs de l'histoire de PostgreSQL). Son constat me semble donc légitime et mérite réflexion. On pourrait imaginer par exemple que PostgreSQL Europe et le SPI sponsorisent en partie ce type de patchs.

D'après ce que j'ai pu entendre, les autres conférences étaient aussi très intéressantes. Je n'en dirais pas plus, n'ayant pas pu y assister.

Mais le FOSDEM, ce n'est pas seulement les conférences. C'est aussi les discussions avec les contributeurs. Et cette année, quelques réunions.

Par exemple, j'ai été convié à une réunion de PostgreSQL Europe. Le but de cette réunion était de discuter de la tenue des prochaines élections pour le bureau de PostgreSQL Europe. Il a été décidé qu'il allait être possible de devenir membre de PostgreSQL Europe pour une durée de deux ans pour la (modique) somme de dix euros. Être membre permet de pouvoir voter pour élire le bureau, ce qui permet d'influer sur l'utilisation de l'argent par la communauté. Car le bureau a pour but de fournir des financements à des groupes d'utilisateurs qui voudraient monter des événements sur PostgreSQL. Par exemple, PostgreSQL Europe a très fortement aidé à la mise en place du PGDay 2009 fait en France. Il fera de même cette année pour la Hollande. Tous les détails devraient bientôt être disponibles sur le site web de l'association européenne, donc je n'entrerais pas plus dans les détails. Ce qui m'intéresse fortement, c'est que PostgreSQL Europe est une association qui fonctionne et qui travaille. Dès que cela sera possible, je deviendrais membre.

Autre exemple de discussion, celle que j'ai eu avec Dave Page et Magnus Hagander lors du l'attente particulièrement longue au restaurant du samedi soir. Nous avons discuté des développements en cours pour pgAdmin. Dave est toujours débordé par son boulot, donc il se trouve que je vais pour l'instant continuer en solo mes travaux sur la prochaine version de pgAdmin. Néanmoins, cette discussion m'a permis de trouver la solutions à plusieurs problèmes qui me bloquaient bien, donc certains de mes patchs vont rapidement être dans un état final, prêt à être commités. J'ai continué cette discussion le dimanche matin avec Dave lors du petit-déjeuner. Il se trouve qu'il a eu la même idée que moi pour une fonctionnalité qui devrait plaire à plus d'un.

Dernier exemple, la réunion pour le PGDay européen 2010. Elle a eu lieu dehors où il gelait mais où, au moins, on pouvait s'entendre (trop de bruit dans les couloirs, pas de salle dispo). Elle a réuni Dave Page, Magnus Hagander, Andreas Scherbaum, Jean-Paul Argudo, Koen et un autre hollandais dont j'ignore le nom. Les deux hollandais ont fait un point sur leurs démarches actuelles. Ils n'ont malheureusement pas pu beaucoup avancé. Une des raisons est que Koen a été très sollicité à son travail, ce qui lui a laissé bien peu de temps pour chercher un lieu convenable pour les conférences. On a discuté des pré-requis pour le lieu des conférences et de bien d'autres choses. On a notamment insisté sur le besoin d'une plus grande communication entre les différents organisateurs et PostgreSQL Europe. Certaines options envisagées me semblent très prometteuses. Du coup, je suis ressorti de cette réunion bien plus confiant qu'à mon arrivé.

Évidemment, il y a eu aussi quelques discussions avec les utilisateurs de PostgreSQL. Cependant, beaucoup moins qu'à Solutions Linux, ce qui est fort dommage. Vendre des goodies m'intéresse assez peu, on fait quand même un peu marchand de tapis. Donc un très grand merci à ceux qui sont venus nous poser des questions techniques, aussi et surtout quand ils nous ont collé :)

Que dire de plus... l'événement a de nouveau été un grand succès. J'y ai passé un très bon moment, bien que j'ai encore de gris progrès à faire pour être à l'aise à l'oral en anglais. Il n'empêche que le FOSDEM 2011 sera une étape obligatoire.

N'oubliez pas qu'il y aura au moins deux autres événements importants en Europe : Solutions Linux dans un mois, PGDay.eu en octobre. J'espère que nous aurons aussi la possibilité d'organiser quelque chose pour la sortie de la 9.0

par Guillaume Lelarge le lundi 8 février 2010 à 15h07

mercredi 3 février 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 31 janvier 2010

Les candidatures pour le "Google Summer of Code" sont recevables jusqu'au 9 mars, mais n'attendez pas autant pour contacter Selena Deckelman à l'adresse selena CHEZ postgresql POINT org

Le PUG de Seattle tiendra sa première réunion le 9 février 2010. Plus de détails : http://www.seapug.org/talk.php?talk=1

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

Les contraintes d'unicité peuvent maintenant être écartées jusqu'au commit.

Offres d'emplois autour de PostgreSQL en janvier

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le mercredi 3 février 2010 à 23h48

mardi 2 février 2010

Guillaume Lelarge

Hot Standby et Streaming Replication

Hier soir et ce soir, je me suis amusé à mettre en place ces deux fonctionnalités sur ma version de développement. Ça a été beaucoup plus simple que je ne le craignais. Mettre en place le Hot Standby, c'est aussi simple que la configuration du Warm Standby. Et ça marche sacrément bien. J'ai eu un peu plus de difficulté ce soir avec le Streaming Replication, mais principalement parce que je n'ai pas été très rigoureux dans les différentes manipulations (j'ai oublié le pg_stop_backup sur le serveur primaire, ce qui a eu pour conséquence une impossibilité de se connecter sur le secondaire). Bref. Mettre en place un Hot Standby avec du Streaming Replication, ça se fait très simplement. Et c'est redoutablement efficace. J'avoue que j'avais très peur du lag pour la réplication. Avec un wal_sender_delay à 200ms (la valeur par défaut), c'est pratiquement immédiat. J'ai ainsi restauré une grosse sauvegarde... et aucun lag. Dès que la restauration était terminée sur le primaire, mon secondaire était synchronisé. Cela étant dit, je n'ai pas restauré en une seule transaction. Mais quand même, je suis sacrément impressionné pour ces deux fonctionnalités : c'est simple et rapide à mettre en place, c'est fonctionnel et rapide en exécution. Évidemment, il va y avoir un bon debug à faire. Mais clairement, cette nouvelle version (9.0) a toutes les chances d'avoir un franc succès.

par Guillaume Lelarge le mardi 2 février 2010 à 23h19

vendredi 29 janvier 2010

Stephane Bortzmeyer

Feed Retrieval Failed

ReFilter was unable to retrieve the feed. The remote server responded with error code -100. Please make sure the feed URL is correct.

vendredi 29 janvier 2010 à 22h17

jeudi 28 janvier 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 24 janvier 2010

"PostgreSQL: Das Praxisbuch" [ndt: PostgreSQL, guide pratique] par Thomas Pfeiffer et Andreas Wenk, a été publié. http://www.pg-praxisbuch.de

La fonctionnalité 8.5 de la semaine

La syntaxe DROP IF EXISTS fonctionne à présent sur les colonnes et les contraintes.

Offres d'emplois autour de PostgreSQL en janvier

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le jeudi 28 janvier 2010 à 00h16

lundi 25 janvier 2010

Guillaume Lelarge

Petit résumé des deux dernières semaines sur pgAdmin - 2

La première semaine a été remplie de nombreuses corrections de bugs :

  • correction de l'affichage du composant date./heure ;
  • correction de l'appel à la fonction storenode de Slony-I 2.0.x ;
  • correction de la sélection de l'objet dans le navigateur quand un serveur est choisi avec l'argument en ligne de commande /s ;
  • correction de l'affichage d'un type doté d'un typmod spécifique ;
  • acceptation des adresses IPv6 ;
  • correction d'une erreur SQL lors de l'ajout/modification d'un paramètre sur une base de données, un utilisateur ou une fonction ;
  • correction d'un message d'erreur lors de la sauvegarde des favoris.

La deuxième semaine a concerné de nouvelles fonctionnalités, principalement pour la future 9.0.

  • Autorisation de la copie des informations sur les onglets « Propriétés », « Statistiques », « Dépendances » et « Dépendants de ».
  • Gestion de la nouvelle option INPLACE de VACUUM.

vacuuminplace.png

  • Support de la nouvelle instruction « ALTER TABLESPACE name SET/RESET ».

tablespacesetoptions.png

Sans compter que je viens de terminer un patch gérant les nouvelles options de VACUUM, à savoir COSTS et BUFFERS.

par Guillaume Lelarge le lundi 25 janvier 2010 à 23h04

jeudi 21 janvier 2010

Damien Clochard

L'Europe reconnait PostgreSQL comme une alternative crédible à MysQL et Oracle.

Ce jeudi 21 janvier 2010, est une date important pour le projet PostgreSQL. On pourrait croire que l'événement du jour est l'annonce du changement de numéro version. En effet, la prochaine version sera numérotée "PostgreSQL 9.0".

Non l'info du jour c'est que l'Union Européen autorise le projet de rachat de Sun Microsystems par Oracle. De prime abord on pourrait se dire que cela ne concerne pas PostgreSQL, même si MySQL est concerné en premier lieu par ce rachat.

Toutefois en creusant un peu les raisons qui ont conduit à cette décision on trouve la justification suivante :

« L’enquête de la Commission a montré qu’une autre base de données ouverte, PostgreSQL, est considérée par de nombreux utilisateurs de ce type de logiciels comme une alternative crédible à MySQL et pourrait dans une certaine mesure remplacer la force concurrentielle que cette dernière représente actuellement sur le marché des bases de données. »

D'un point de vue purement technique, cette phrase ne fait que redire ce que tout le monde (ou presque) savait déjà.

Toutefois il est assez ironique de voir PostgreSQL impliqué dans ce que beaucoup considère comme l'arrêt de mort de MySQL. Pire si on suit la justification de la Commission, c'est bien parce que PostgreSQL existe que MySQL peut être avalé par Oracle.

Une telle logique laisse pantois : en envisageant les éco-systèmes Open-Source que sont PostgreSQL et MySQL uniquement en terme de "forces concurrentielles" (sic), on perd la dimension collaborative, le mécanisme d'émulations mutuelle et la richesse de la diversité. Ces principes sont la base même du succès de PostgreSQL et c'est au nom de PostgreSQL que l'Union Européenne les bafouent avec un superbe syllogisme technocratique :

« Il faut des SGBD pour concurrencer Oracle / PostgreSQL est un concurrent de MySQL / Donc Oracle peut racheter MySQL »

Quoiqu'il en soit, de manière probablement involontaire, le communiqué de la Commission annonce de manière assez claire l'avènement de PostgreSQL comme le dernier grand moteur de base de données Open-Source. L'arrivée de la version 9.0 devrait accélérer encore un peu le mouvement.

Source : http://europa.eu/

par damien le jeudi 21 janvier 2010 à 22h27

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 17 janvier 2010

Nouvelles hebdomadaires de PostgreSQL - 17 janvier 2010

La dernière commitfest prévue avant la prochaine publication (sera-ce la 9.0 ?) a débuté. Il est temps de relire tous ces patchs, notamment celui de la réplication continue [ndt: Streaming Replication]. Une relecture rapide signifie qu'une alpha peut sortir plus tôt, et l'alpha mène à la beta, et la beta mène à la publication. Si vous n'avez jamais fait de relecture de patch, saisissez votre chance ! http://wiki.postgresql.org/wiki/Reviewing_a_Patch http://commitfest.postgresql.org

Le PUG allemand aura un stand au Linuxdays de Chemnitz les 13 et 14 mars 2010 : http://andreas.scherbaum.la/blog/archives/652-PostgreSQL-stand-at-Chemnitz-Linux-Days-2010.html

La "Linuxfest Northwest 2010" aura lieu à Bellingham, Washington, États-Unis les 24 et 25 avril. Conférences, réunions et mécénat sont proposables : http://linuxfestnorthwest.org/

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

VACUUM FULL a été modifié pour générer maintenant de nouveaux fichiers des tables et index traités. Ceci est basé sur l'ancienne commande CLUSTER et s'avère plus efficient. L'ancienne fonctionnalité est toujours accessible via VACUUM FULL INPLACE, mais sera incompatible avec le Hot Standby.

L'astuce de la semaine

En activant la surveillance des fichiers temporaires grâce à l'option 'log_temp_files', vous pouvez savoir s'il y a besoin d'augmenter les paramètres 'work_mem' ou 'maintenance_work_mem' pour vos bases de données.

Offres d'emplois autour de PostgreSQL en janvier

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le jeudi 21 janvier 2010 à 22h20

Guillaume Lelarge

Oubliez la 8.5...

Et voilà, la core-team a décidé que la prochaine version sera en fait la __9.0__. Que dire. Il est clair qu'avec Hot Standby et Streaming Replication, ça vaut carrément ce saut de version. Encore une raison de plus pour tester à fond cette version, pour venir au FOSDEM, histoire de découvrir toutes ces nouveautés alléchantes... et d'éviter de relancer la vieille discussion sur le renommage du nom du projet :)

par Guillaume Lelarge le jeudi 21 janvier 2010 à 17h27

dimanche 17 janvier 2010

Jean-Christophe Arnu

PostgreSQL et Astronomie

Bon, je savais que Teodor Sigaev et Oleg Bartunov avaient travaillé dessus mais il est temps que je me penche sur pgSphere et pgAstro et voir ce qu'il est possible de faire. Et pourquoi pas mettre en place des webservices au dessus de ces données?

par noreply@blogger.com (Jean-Christophe Arnu) le dimanche 17 janvier 2010 à 19h35

vendredi 15 janvier 2010

Guillaume Lelarge

Streaming replication dans le CVS

Le Hot Standby a été ajouté en décembre par Simon Riggs. Heikki vient tout juste d'intégrer le Streaming Replication. Que dire de plus... la 8.5 est un bond en avant incroyable pour PostgreSQL. Il est d'ailleurs bien possible qu'elle en devienne la 9.0.

Raison de plus pour que pgAdmin fasse lui-aussi un gros bond en avant.

Je profite de ce billet pour dire que je ne travaillerais pas sur la traduction de la documentation avant que pgAdmin ne sorte en version beta. Tout simplement pour pouvoir travailler le plus possible sur pgAdmin tant que c'est possible. À la sortie de la beta de pgAdmin, je me consacrerais à la traduction du manuel de PostgreSQL. Cela étant dit, si d'autres veulent commencer avant, qu'ils m'envoient un mail :)

par Guillaume Lelarge le vendredi 15 janvier 2010 à 10h12

mercredi 13 janvier 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 10 janvier 2010

Félicitations à Alvaro Herrera, papa d'une petite fille.

Le "Hot Standby User's Group" se réunira virtuellement le 13 janvier à 16h00 UTC, plutôt que le 6 comme indiqué à l'origine. Plus de détails sur : http://www.postgresql.org/about/event.1013

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

Vous pouvez maintenant logger vos requêtes, erreurs, etc. en utilisant %e dans l'instruction log_line_prefix.

Offres d'emplois autour de PostgreSQL en janvier

PostgreSQL Local

  • La première réunion du "New York Capital District PUG" aura lieu le 7 janvier 2010 : http://nycdpug.x10hosting.com/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • À la recherche de volontaires pour la rencontre de la "Open Day Linux Conf AU" à Wellington, Nouvelle Zélande, le 23 janvier 2010 entre 11 et 14h. Contactez selena -at- postgresql.org.
  • L'appel à conférencier pour "East" est lancé avec, comme date limite, le 30 janvier 2010. Détails sur : http://www.postgresqlconference.org/
  • Le PGDay-Cuba 2010 sera tenu du 4 au 6 février 2010 à l'Université des Sciences Informatiques, à La Havane. Sont invités les participants de Cuba, de la République Dominicaine et du Venezuela.
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le PUG allemand aura un stand dans "l'Open Source Park" au Cebit 2010 du 2 au 6 mars 2010 à Hanovre : http://www.cebit.de/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/
  • La PgCon 2010 aura lieu les 20 & 21 mai 2010 à Ottawa avec des tutoriels les 18 et 19. L'appel à conférenciers est lancé ! http://www.pgcon.org/2010/papers.php
  • L'appel aux propositions est lancé pour l'OSCON, qui aura lieu à Portland (Oregon) du 19 au 23 juillet 2010 : http://post.oreilly.com/f2f/9z1zqmm5lhkab0uogt3avlvc4u59bro6f917re423d8

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le mercredi 13 janvier 2010 à 23h38

dimanche 10 janvier 2010

Guillaume Lelarge

Petit résumé des deux dernières semaines sur pgAdmin

Je continue à travailler sur pgAdmin. J'aime bien. Je suis assez à l'aise avec le code maintenant, ce qui est très agréable.

Deux nouvelles fonctionnalités dans ces deux semaines. La première, j'en avais déjà parlé, concerne la fenêtre de restauration. J'ai enfin pris mon courage à deux mains pour terminer ce patch. Il n'est pas encore intégré dans le code source de pgAdmin mais j'espère que ce sera le cas d'ici la fin du mois, Dave étant bien occupé. Voici une copie d'écran de l'onglet qui a pris une petite partie de ce week-end :

restore.png

Comme vous le voyez, il est maintenant possible de sélectionner plusieurs éléments de la sauvegarde pour restaurer tous ces éléments. Par exemple, vous pouvez vouloir restaurer uniquement le schéma X ainsi que la table Y d'un autre schéma, une séquence et une fonction d'un autre schéma. Bref, vous choisissez les objets que vous voulez parmi ceux disponibles dans la sauvegarde que vous avez sélectionnée. Plutôt cool :)

L'autre fonctionnalité est une nouveauté de la 8.5, développée par Dave Page. En 8.5, les applications pourront s'identifier à la connexion ou après coup grâce à un paramètre appelé application_name. Je ne connais pas encore d'applications qui le font... en dehors de pgAdmin. La vue système pg_stat_activity a été modifiée pour afficher cette information. J'ai donc modifié pgAdmin pour qu'il initialise ce paramètre pour ses connexions, et pour qu'il affiche cette nouvelle colonne dans la fenêtre d'état du serveur. Voici le résultat :

applicationname.png

Là-aussi, plutôt cool :)

En dehors de ça, j'ai beaucoup travaillé sur des rapports de bugs. Du coup, je viens d'enregistrer quatre correctifs de bugs.

par Guillaume Lelarge le dimanche 10 janvier 2010 à 22h11

vendredi 8 janvier 2010

Guillaume Lelarge

PostgreSQL au FOSDEM

Et voilà, le planning pour le FOSDEM est publié. Ayant fait partie du comité de sélection des conférences avec trois autres personnes, je suis assez content du résultat.

En gros, c'est très tourné vers la 8.5 : Hot Standby, Streaming Replication (ancien SyncRep, toujours pas intégré), Exclusion constraints. Il y a aussi une conférence sur le développement de PostgreSQL (après tout, le FOSDEM est un événement à destination principalement des développeurs), une conférence sur des fonctionnalités futures et un retour d'expérience. Plutôt équilibré dans les sujets. Que du bon :)

Sans parler qu'il y aura les événements sociaux habituels le vendredi et le samedi soir.

N'hésitez pas à venir, ça promet d'être un FOSDEM exceptionnel. Pour ceux qui ne peuvent pas venir deux jours durant, notez que les conférences n'ont lieu que le samedi (en dehors d'une conférence de David Fetter le dimanche).

par Guillaume Lelarge le vendredi 8 janvier 2010 à 18h19

mercredi 6 janvier 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 3 janvier 2010

Des paquets RPM pour la 8.5alpha3 sont disponibles, grâce au dur travail de Devrim. À vos tests ! http://yum.pgsqlrpms.org/news-8.5alpha-packages-ready-for-testing.php

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

Dans psql, \d montre à présent combien de tables filles une table a en héritage, et \d+ les liste.

Offres d'emplois autour de PostgreSQL en janvier

PostgreSQL Local

  • La première réunion du "New York Capital District PUG" aura lieu le 7 janvier 2010 : http://nycdpug.x10hosting.com/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • À la recherche de volontaires pour la rencontre de la "Open Day Linux Conf AU" à Wellington, Nouvelle Zélande, le 23 janvier 2010 entre 11 et 14h. Contactez selena -at- postgresql.org.
  • L'appel à conférencier pour "East" est lancé avec, comme date limite, le 30 janvier 2010. Détails sur : http://www.postgresqlconference.org/
  • Le PGDay-Cuba 2010 sera tenu du 4 au 6 février 2010 à l'Université des Sciences Informatiques, à La Havane. Sont invités les participants de Cuba, de la République Dominicaine et du Venezuela.
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le PUG allemand aura un stand dans "l'Open Source Park" au Cebit 2010 du 2 au 6 mars 2010 à Hanovre : http://www.cebit.de/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/
  • La PgCon 2010 aura lieu les 20 & 21 mai 2010 à Ottawa avec des tutoriels les 18 et 19. L'appel à conférenciers est lancé ! http://www.pgcon.org/2010/papers.php
  • L'appel aux propositions est lancé pour l'OSCON, qui aura lieu à Portland (Oregon) du 19 au 23 juillet 2010 : http://post.oreilly.com/f2f/9z1zqmm5lhkab0uogt3avlvc4u59bro6f917re423d8

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le mercredi 6 janvier 2010 à 22h02

lundi 4 janvier 2010

Damien Clochard

2010 : L'année de l'éléphant ?

Chaque changement d'année apporte son lot de rétrospectives et de bilans, a fortiori lorsqu'on change de décade décénnie... Plutôt que de regarder en arrière, je préfère parier sur l'avenir ( exercice nettement plus périlleux ) et j'annonce ici que 2010 sera une année faste pour le projet PostgreSQL. Vous me direz (à juste titre) que l'internet est déjà rempli de prédicateurs plus ou moins inspiré et que cette annonce est aussi facile que gratuite.

Oui mais à y regarder de plus près on se rend compte que beaucoup d'indices laissent présager que 2010 sera une année charnière :

  • Le Hot Standby vient d'être intégré dans la branche 8.5 ( actuellement disponible en version alpha3 ). Qu'est-ce que le "Hot Standby" ? C'est l'évolution naturelle du "Warm Standby". Mais encore ? Tout simplement un mécanisme de réplication maitre-esclave simple, efficace et directement intégré au cœur de PostgreSQL. L'arrivée de cette fonctionnalité tant attendue constitue une mirco-révolution au sein de la communauté et devrait avoir un impact fort (j'y reviendrai dans un article ultérieur...)
  • Plus globalement, la version 8.5 attendue dans les prochains mois devrait apporter son lot de nouvelles fonctionnalités ( triggers sur colonnes, EXPLAIN disponible sous différents formats, contraintes d'exclusion, support de python3, ... ) et bien sur un support du standard encore amélioré : aux dernières nouvelles, il ne reste plus que 12 prérequis à implémenter pour respecter à 100% la norme SQL:2008 ( qui contient en tout 179 pré-requis). Qui dit mieux ?
  • La fin du support officiel (en juillet) pour les versions 7.4 (sortie en 2002) et 8.0 (sortie en 2005). L'occasion pour beaucoup d'utilisateurs de migrer et de faire un bond vers une version plus récente. Les habitués de la version 7.4 devrait avoir une agréable surprise, tant l'administration de PostgreSQL est devenue plus simple et intuitive. De manière générale le changement de politiques pour les cycles de vie des versions devrait apporter plus de clarté dans la gestion des mises à jour.
  • L'agonie de MySQL n'a rien de réjouissant. Voir un projet de cette envergure être malmené et mis en danger n'est pas une bonne nouvelle. Toutefois un effet de bord du mélodrame actuel autour du trio Oracle-Sun-MySQL est que beaucoup de voix s'élèvent pour souligner les différences entre Postgres et MySQL. En effet, grâce à sa communauté décentralisée et à la licence BSD, le projet PostgreSQL est complètement invulnérables aux risques de rachat et autres manoeuvres de déstabilisation. A l'heure actuelle, nul ne peut prévoir l'avenir de MySQL mais il est certain que le projet ne sortira pas grandit de cet épisode.
  • Enfin et ce n'est pas la moindre des choses, 2010 sera l'année du passage à PostgreSQL au sein de très grandes entreprises en France et en Europe. Météo France et la RATP ont fait figure de précurseurs dans ce domaine. Leroy Merlin a annoncé sa migration d'Oracle vers PostgreSQL lors du PGDay à Paris en 2009. D'autres grands noms devraient suivre dans les mois qui viennent....

En clair, tout ceci me rappelle l'année 2005 qui a vu l'arrivée des versions 8.0 et 8.1 , avec notamment les premières versions de PostgreSQL pour Windows, mais aussi l'autovacuum, le Point-In-Time Recovery, etc.

2005 c'était aussi la naissance d'une petite société spécialiste de PostgreSQL.... Et oui ! Dalibo aura 5 ans en Juillet prochain et le moins qu'on puisse dire c'est que l'année 2010 sera radieuse et je vous souhaite une année tout aussi radieuse !

par damien le lundi 4 janvier 2010 à 21h49

dimanche 3 janvier 2010

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 27 décembre 2009

PostgreSQL 8.5alpha3 est disponible. Parmi les nouveautés se trouvent le "Hot Standby", les contraintes d'exclusion, l'ORDER BY dans les aggrégats, les ACLs sur les blobs, une amélioration des expressions régulières, PL/pgsql par défaut et diverses améliorations dans PL/pgsql, PL/Perl et PL/Python. À vos tests ! http://www.postgresql.org/developer/alpha

Le PUG allemand aura un stand dans "l'Open Source Park" au Cebit 2010 du 2 au 6 mars 2010 à Hanovre : http://www.cebit.de/

L'appel aux propositions est lancé pour l'OSCON, qui aura lieu à Portland (Oregon) du 19 au 23 juillet 2010 : http://post.oreilly.com/f2f/9z1zqmm5lhkab0uogt3avlvc4u59bro6f917re423d8

Un enregistrement vidéo de la réunion du SFPUG du 8 décembre 2009 "Operator Exclusion Constraints" [ndt: contraintes d'exclusion via opérateur ?] est à présent disponible : http://thebuild.com/blog/2009/12/23/sfpug-operator-exclusion-constraints/

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

Hot Standby. Après 1,5 année de développement, vous pouvez enfin lancer des requêtes en lecture-seule sur les esclaves PITR. Remerciements à Simon Riggs, Heikki Linnakangas et de nombreux autres pour leurs efforts ininterrompus. Apprenez-en d'avantage sur le "Hot Standby" sur : http://wiki.postgresql.org/wiki/Hot_Standby et essayez vite la 8.5Alpha3.

Offres d'emplois autour de PostgreSQL en décembre

PostgreSQL Local

  • La première réunion du "New York Capital District PUG" aura lieu le 7 janvier 2010 : http://nycdpug.x10hosting.com/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • À la recherche de volontaires pour la rencontre de la "Open Day Linux Conf AU" à Wellington, Nouvelle Zélande, le 23 janvier 2010 entre 11 et 14h. Contactez selena -at- postgresql.org.
  • L'appel à conférencier pour "East" est lancé avec, comme date limite, le 30 janvier 2010. Détails sur : http://www.postgresqlconference.org/
  • Le PGDay-Cuba 2010 sera tenu du 4 au 6 février 2010 à l'Université des Sciences Informatiques, à La Havane. Sont invités les participants de Cuba, de la République Dominicaine et du Venezuela.
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/
  • La PgCon 2010 aura lieu les 20 & 21 mai 2010 à Ottawa avec des tutoriels les 18 et 19. L'appel à conférenciers est lancé ! http://www.pgcon.org/2010/papers.php

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le dimanche 3 janvier 2010 à 18h19

mardi 29 décembre 2009

Guillaume Lelarge

Suite - Documentation sur l'installation de PostgreSQL sous Windows

J'ai profité de cette soirée pour faire la documentation d'installation de PostgreSQL 8.4 sous Windows.

De nouveau, tout commentaire bienvenu.

De plus, j'ai fait la traduction de l'installeur. J'attends que Dave publie cette nouvelle version pour mettre à jour les copies d'écran.

par Guillaume Lelarge le mardi 29 décembre 2009 à 21h43

dimanche 27 décembre 2009

Guillaume Lelarge

Quelques nouvelles fonctionnalités pour pgAdmin

Oui, je bosse pas mal dessus actuellement.

En premier lieu, j'ai remplacé la liste déroulante habituelle par une liste déroulante avec icône pour la liste des connexions dans l'outil de requêtage. Cela permet d'afficher la couleur du serveur pour ceux qui personnalisent les couleurs de leurs serveurs (fonctionnalité apparue avec la 1.10). Cela donne ceci :

coloredcombobox.png

Ensuite, j'ai travaillé sur la fenêtre de maintenance pour améliorer l'interface, mais rien de vraiment passionnant.

Le travail a été plus complexe pour la fenêtre de restauration d'une sauvegarde. Comme pour la fenêtre de sauvegarde, j'ai ajouté les nombreuses options manquantes, ajouté le code de vérification de version, et enfin remplacé la liste des objets par un arbre, beaucoup plus frappant visuellement. Voici les copies d'écran des différents onglets :

frmRestore_1.png

frmRestore_2.png

frmRestore_3.png

frmRestore_4.png

frmRestore_5.png

Évidemment, on ne va pas garder l'onglet 4 et l'onglet 5, vu qu'ils ont la même fonction, bien que l'affichage soit différent. Dave et moi pensons que l'onglet 4 est bien meilleur, ne serait-ce que parce qu'il est équivalent à celui de la fenêtre de sauvegarde (pour garder une cohérence).

Actuellement, il reste deux bouts de code à écrire:

  • tout d'abord, gérer le cas où certains objets sont desélectionnés ;
  • ensuite, gérer la sauvegarde d'un seul objet.

Je ne suis pas sûr en plus qu'il faille conserver le bouton « View ». À partir du moment où le fichier a été sélectionné, il faudrait immédiatement le lire et indiquer les objets dans l'onglet 4. Demander à ce que l'utilisateur clique sur « View » me semble un peu bizarre.

Dernier point, j'ai travaillé sur le code de gestion des index. Le but est d'ajouter la possibilité de modifier la classe d'opérateur d'un élément d'un index. L'idée vient de Thomas qui m'en avait parlé il y a bien longtemps mais je n'avais jamais eu le temps de m'y mettre. Le patch est prêt, j'attends le commentaire de Dave. Sans commentaire, je l'enregistrerai dans le SVN d'ici jeudi prochain.

Je ne vais pas pouvoir conserver ce rythme très important encore longtemps. je pense donc passer à un rythme plus tranquille, du style un patch par semaine. Mais il faut dire que git permet de gérer les patchs très facilement, ce qui fait qu'on peut bosser sur plusieurs patchs en même temps... un vrai bonheur.

par Guillaume Lelarge le dimanche 27 décembre 2009 à 21h00

Documentation sur l'installation de PostgreSQL sous Windows

Comme il y a beaucoup de demandes sur l'installation de PostgreSQL sous Windows, j'ai décidé d'écrire une documentation sur ce sujet. Pour l'instant, ce n'est qu'un premier jet, assez simpliste mais qui couvre, je crois, une bonne partie des points à savoir.

Je l'ai placé sur le site communautaire de Dalibo car ça m'était plus simple. Le blog communautaire ne facilite pas vraiment ce genre de rédactions, le wiki est plutôt dédié à l'activité de l'association, et la partie documentation concerne plutôt la documentation officielle.

Évidemment, le document n'est pas terminé et ne le sera certainement jamais. Suivant les questions et les réponses que je verrais sur les listes de discussion ou sur les forums, je modifierais cette documentation autant que possible.

Enfin, dernier point, il s'agit d'une documentation pour la version 8.3. Une autre verra le jour pour la version 8.4 dès la semaine prochaine.

Bref, c'est ici.

Tout commentaire bienvenu :)

par Guillaume Lelarge le dimanche 27 décembre 2009 à 16h34

jeudi 24 décembre 2009

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 20 décembre 2009

La commitfest de novembre est maintenant terminée. Félicitations à Greg Smith pour la gestion, et à tous ceux qui ont relu, patché et participé d'une manière ou d'une autre.

L'appel à conférencier pour "East" est lancé avec, comme date limite, le 30 janvier 2010. Détails sur : http://www.postgresqlconference.org/

Les élections 2009 pour la direction du PgUS sont en cours : https://www.postgresql.us/elections/2009

À la recherche de volontaires pour la rencontre de la "Open Day Linux Conf AU" à Wellington, Nouvelle Zélande, le 23 janvier 2010 entre 11 et 14h. Contactez selena -at- postgresql.org.

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

Clauses "WHEN" sur les déclencheurs (triggers) : dans la version 8.5 alpha 3, il sera possible de créer des déclencheurs avec une clause WHEN pour conditionner leur exécution. Merci à Itagaki Takahiro et l'équipe NTT.

L'astuce de la semaine

Astuce de la semaine : PostgreSQL offre trois moyens de gérer les arbres : les requêtes WITH RECURSIVE, le module contrib "ltree" et la fonction connect_by() dans le module tablefunc.

Offres d'emplois autour de PostgreSQL en décembre

PostgreSQL Local

  • La première réunion du "New York Capital District PUG" aura lieu le 7 janvier 2010 : http://nycdpug.x10hosting.com/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • Le PGDay-Cuba 2010 sera tenu du 4 au 6 février 2010 à l'Université des Sciences Informatiques, à La Havane. Sont invités les participants de Cuba, de la République Dominicaine et du Venezuela.
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/
  • La PgCon 2010 aura lieu les 20 & 21 mai 2010 à Ottawa avec des tutoriels les 18 et 19. L'appel à conférenciers est lancé ! http://www.pgcon.org/2010/papers.php

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le jeudi 24 décembre 2009 à 00h27

samedi 19 décembre 2009

Guillaume Lelarge

Quelques news du côté pgAdmin

Pas mal de changement au niveau de pgAdmin ce mois-ci.

J'ai commencé en modifiant les champs de sélection de couleur. On utilisait auparavant un champ texte montrant le code couleur HTML et un bouton permettant d'accéder au dialogue natif de choix d'une couleur. Maintenant, on utilise seulement un bouton montrant la couleur sélectionnée. Ça donne ceci :

coloredbuttons.png

Ensuite j'ai commencé à ajouter le support de la 8.5 :

  • Support du DISTINCT pour les colonnes

distincts_column.png

  • Support de la clause WHEN des triggers

trigger_when.png

  • Support des colonnes au niveau des triggers

trigger_columns.png

Enfin, je me suis concentré sur la fenêtre de sauvegarde. Elle avait clairement besoin de beaucoup plus d'attention: interface déplorable et des options manquantes. Bref, ça a demandé d'augmenter considérablement le nombre d'onglets:

  • premier onglet: options du fichier de sauvegarde

backup1.png

  • deuxième onglet: options principales

backup2.png

  • troisième onglet: options moins importantes

backup3.png

  • quatrième onglet: choix des objets à sauvegarder (pour ce dernier, il a fallu créer un widget personnalisé, ce qui a été très intéressant à faire)

backup4.png

Le cinquième onglet affiche toujours le retour de la commande de sauvegarde.

Bref, beaucoup de nouveautés pour la future 1.12. La suite du programme ? continuer le support de la 8.5 (la gestion du nom de l'application est tout particulièrement en ligne de mire), continuer sur l'amélioration de l'interface (cette fois pour la fenêtre de restauration d'une sauvegarde et celle des opérations de maintenance), et la suite du travail sur la fenêtre d'état du serveur.

par Guillaume Lelarge le samedi 19 décembre 2009 à 01h51

jeudi 17 décembre 2009

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 13 décembre 2009

Les publications d'appoints 8.4.2, 8.3.9, 8.2.15, 8.1.19, 8.0.23 et 7.4.27 seront disponibles sous peu. Préparez-vous à mettre à jour ! [ndt: article PGFr]

Robert Haas, ITAGAKI Takahiro, Simon Riggs et Greg Stark ont maintenant leurs entrées au CVS. Félicitations !

Les nouveautés des produits dérivés

La fonctionnalité 8.5 de la semaine

Les contraintes d'exclusion (par Jeff Davis) permettent de spécifier comme étant "unique" des données qui couvrent un segment, comme un aire géométrique, un intervalle de temps ou un tableau. Testez la 8.5 dès maintenant : http://www.postgresql.org/developer/testing

L'astuce de la semaine

pgPool2 est meilleur en répartition de charge lorsqu'il est couplé avec des systèmes de réplications comme Slony ou Bucardo, et pgBouncer est meilleur pour une gestion évolutive des connexions.

Offres d'emplois autour de PostgreSQL en décembre

http://archives.postgresql.org/pgsql-jobs/2009-12/threads.php

PostgreSQL Local

  • La première réunion du "New York Capital District PUG" aura lieu le 7 janvier 2010 : http://nycdpug.x10hosting.com/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • Le PGDay-Cuba 2010 sera tenu du 4 au 6 février 2010 à l'Université des Sciences Informatiques, à La Havane. Sont invités les participants de Cuba, de la République Dominicaine et du Venezuela.
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/
  • La PgCon 2010 aura lieu les 20 & 21 mai 2010 à Ottawa avec des tutoriels les 18 et 19. L'appel à conférenciers est lancé ! http://www.pgcon.org/2010/papers.php

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le jeudi 17 décembre 2009 à 22h09

lundi 14 décembre 2009

Damien Clochard

Modification des cycles de vies des versions de PostgreSQL

Je profite de la sortie récente de nouvelles mises à jours de sécurité de PostgreSQL pour revenir sur une information qui est passée relativement inaperçue la semaine dernière. Il s'agit pourtant d'un changement très important puisque désormais chaque version majeure de PostgreSQL sera maintenue officiellement pour une durée de 5 ans minimum. Cette nouvelle politique de support des versions de PostgreSQL permet donc de plus prévoir e planifier longtemps à l'avance les montées de versions. Rappelons que jusqu'ici la politique de maintenance des versions majeures, bien que floue et tacite, pouvait être énoncée ainsi : "Les versions majeures sont supportées tant que c'est techniquement possible et que quelqu'un veut s'en charger". On était assez proche de la philosophie de support des versions de Debian. Sans vouloir reveiller les polémiques, cette philosophie a montré ces limites dans bien des cas et le projet Debian est en train d'évoluer sur le sujet. Le groupe de développement de PostgreSQL évolue aussi et suit la tendance actuelle qui tend vers des cycles de versions plus réguliers et des dates de fin de support annoncées à l'avance.



En optant pour rythme de support de 5 ans, PostgreSQL s'aligne sur le cycle de version d' Ubuntu LTS Server et de celui de Red Hat. Au final, ce changement un gage de sérieux et de sécurité supplémentaire : désormais lorsqu'on fait le choix d'une version de PostgreSQL, on connait dès le départ sa "date de péremption" et l'on peut anticiper les montées de versions plusieurs années à l'avance. On notera au passage que les versions 7.4 et 8.0 bénéficient d'une extension du support jusqu'à juillet 2010. La maintenance de la version 7.4 aura donc duré pendant 8 ans ce qui est exceptionnel. Connaissez-vous un autre logiciel de cette envergure, sorti en 2002 et dont la maintenance est toujours assurée ?

par damien le lundi 14 décembre 2009 à 23h40

Actualités PostgreSQL.fr

Nouvelles versions mineures (8.4.2, 8.3.9, 8.2.15...)

Le projet PostgreSQL annonce aujourd'hui la disponibilité de nouvelles versions mineures pour toutes les branches actives du SGBD PostgreSQL. Cette mise à jour corrige une faille de sécurité modérée et une faille de sécurité faible : un problème sur l'authentification SSL et une élévation des droits avec les index partiels. Il est recommandé de mettre à jour votre version de PostgreSQL dès que possible.

Il y a aussi 48 autres corrections de bugs mineurs dans cette version, la plupart s'appliquant seulement à la version 8.4 et quelques-uns spécifiques à Windows. Bien que cela soit principalement des corrections de bugs mineurs, certains peuvent être plus conséquents :

  • Suppression d'une corruption des index hash ;
  • Mise à jour des données de fuseau horaire pour neuf régions ;
  • Correction d'un problème au démarrage relatif aux droits sur Windows ;
  • Empêchement d'un redémarrage du serveur si un VACUUM FULL est tué ;
  • Correction d'un bug dans l'initialisation du cache au démarrage.

Voir les notes de versions pour une liste complète des changements.

Comme pour les autres versions mineures, les utilisateurs ne doivent pas nécessairement sauvegarder puis recharger leur base de données pour mettre à jour. Arrêtez PostgreSQL, mettez à jour les binaires. Néanmoins, les utilisateurs ayant des index hash devront lancer REINDEX après la mise à jour pour réparer les index potentiellement endommagés. Les utilisateurs qui n'ont pas fait la précédente mise à jour devraient lire les notes de version pour s'assurer que la mise à jour sera aussi simple.

Le groupe de développement pour PostgreSQL arrêtera de fournir des mises à jour pour les versions 7.4 et 8.0 de PostgreSQL à partir de juin 2010. Nous demandons expressément aux utilisateurs de ces versions de planifier une mise à jour très rapidement.

par gleu le lundi 14 décembre 2009 à 20h45

jeudi 10 décembre 2009

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 6 décembre 2009

La commitfest en cours se termine bientôt. Continuez de relire les patchs d'autres personnes pour pouvoir commencer le vôtre l'esprit serein :)

PostgreSQL a maintenant une politique officielle de support des publications. Détails : http://wiki.postgresql.org/wiki/PostgreSQL_Release_Support_Policy

Nouveau sondage : Comment contribuez-vous à PostgreSQL ? http://www.postgresql.org/community

Jeff Davis présente les "Operator Exclusion Constraints" [ndt: contraintes d'exclusion via opérateur ?] au SFPUG, mardi 8 décembre à San Francisco : http://postgresql.meetup.com/1/calendar/11928447/

La prochaine réunion de l'AustinPUG aura lieu mercredi 9 décembre 2009. Jim Nasby y parlera des héritages de tables : http://pugs.postgresql.org/node/1500

La première réunion du "New York Capital District PUG" aura lieu le 7 janvier 2010 : http://nycdpug.x10hosting.com/

Le PGDay-Cuba 2010 sera tenu du 4 au 6 février 2010 à l'Université des Sciences Informatiques, à La Havane. Sont invités les participants de Cuba, de la République Dominicaine et du Venezuela.

La PgCon 2010 aura lieu les 20 & 21 mai 2010 à Ottawa avec des tutoriels les 18 et 19. L'appel à conférenciers est lancé ! http://www.pgcon.org/2010/papers.php

Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en décembre

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le jeudi 10 décembre 2009 à 22h15

mercredi 9 décembre 2009

Samuel Roze

PHPpgAdmin 4.2.2 et PHP 5.3

Depuis PHP 5.3 toutes les fonctions utilisant les regex POSIX (ereg* et split*) sont maintenant obsolètes (qualifiée de DEPRECATED dans la documentation) et vont être supprimées dans PHP 6. Ces fonctions étant moins performantes, devenues presque inutiles à tous les projets cherchant la performance et surtout alourdissant PHP dans le sens où il y avait deux choix possible de regex, il était normal qu’elle disparaissent.

Néanmoins, il faut savoir que c’est la méthode la plus ancienne et donc la plus utilisée dans les portions de codes les plus vielles. Il se trouve que dans la version 4.2.2 de phpPgAdmin (dernière version stable, sortie il y a 1 an à deux jours près ;-) ) il y a encore ces fonctions à quelques endroits, provoquant des Warning lors de l’éxécution de phpPgAdmin sous PHP 5.3.

Pour supprimer ces erreurs, voici un patch dans lequel j’ai remplacer toutes les occurrences de ereg* et split* par les équivalents en regex PCRE:

$ cd phppgadmin-4.3.3
$ wget http://www.d-sites.com/wp-content/uploads/2009/12/phppgadmin4.2.2-php5.3.patch
$ patch -p0 < phppgadmin4.2.2-php5.3.patch

par Samuel ROZE le mercredi 9 décembre 2009 à 20h29

mardi 8 décembre 2009

Samuel Roze

PostgreSQL: parse_url v2

La version 2 de la librairie parse_url pour PostgreSQL, permettant de gérer des adresses URL au seins de la base de données est sortie. Elle permet de créer des tables avec des champs de type url afin d’être plus rapide lors de la sélection de certaines parties de l’URL.

Accéder à la page de parse_url v2 »

par Samuel ROZE le mardi 8 décembre 2009 à 06h00

lundi 7 décembre 2009

Samuel Roze

PostgreSQL: Utiliser le principe du type « varlena »

PostgreSQL utilise depuis Postgres le type varlena, qui signifie variable length array en anglais, soit tableau à taille variable en français. Ce type permet de stocker des données à taille variable dans la base de données. Le principe est très simple: stocker en mémoire une ou plusieurs données de façon contiguë. De plus, il ne doit pas y avoir de pointeur dans le type.

La structure « de base » de varlena est définie dans le fichier src/include/c.h, line 401 pour PostgreSQL 8.4 par:

struct varlena
{
	char	vl_len_[4];
	char	vl_dat[1];
};

Note: le premier tableau de 4 caractères peu très bien est remplacé par un int32, ça revient au même: 4 octets.

Ce type représente le principe: un champ vl_dat, qui contiendra la donnée et d’autres champs qui ne doivent pas être des pointeurs, mais des entiers le plus souvent (ici un tableau de 4 caractères), qui contiennent des informations sur cette donnée. Cela permet à PostgreSQL de pouvoir stocker sur le disque et en mémoire toutes les données en une fois, pouvant ainsi les déplacer comme bon lui semble.

Attention: la propriété qui contient les données doit être la dernière propriété de la structure.

Tout type de donnée un peu complexe doit utiliser ce principe lorsqu’il stocke des données de taille variable en base afin d’assurer une intégrité aux données stockées. Nous allons voir, à l’aide de la librairie parse_url pour PostgreSQL, comment créer un type de données stockant de nombreuses données de taille variable dans une seule et même donnée, dans le but d’être utilisé comme type de colonne dans une table par exemple.

Problématique

Ce que l’on veut faire, c’est stocker des informations (des chaines de caractères) à taille variable à propos d’une adresse URL. Pour cela, il nous suffit de faire une fonction qui va parser une chaine de caractères entrante, qui est l’URL, et nous retourner un type de données url qui contient des propriétés char* scheme, host, path, query

Un type de données « classique »

Pour ça, nous allons créer un type de donnée url, classique, qui contient des pointeurs vers des tableaux (chaines) de caractères alloués en mémoire:

typedef struct url {
	char *scheme;
	char *user;
	char *pass;
	char *host;
	unsigned port;
	char *path;
	char *query;
	char *fragment;
} url;

Ainsi, nous allons appeler la fonction parse_url_exec, qui va retourner un url*, contenant les valeurs demandées. Le problème, c’est que les données ne seront pas réparties de manière contiguë en mémoire mais séparées à l’aide des pointeurs. En effet, la valeur de url->scheme peut se trouver à l’adresse mémoire X, alors que la valeur de url->query à l’adresse mémoire Y et ainsi de suite pour toutes les valeurs. C’est pourquoi nous allons chercher à rassembler ces données dans un seul et même bloc mémoire.

Un type de données « varlena », contiguë en mémoire

Nous allons maintenant créer un nouveau type, url_internal qui est constitué d’un seul tableau de caractère qui contiendra toutes les valeurs, mises bout à bout et de plusieurs entiers, qui correspondront à l’index des données dans le tableau de caractères et à leur taille.

Note: On pourrait faire autrement, en séparant les données par '\0', en n’utilisant qu’un entier qui correspond à la taille ou à l’index de la valeur dans la chaine de caractères mais j’ai choisi, pour des questions pratiques, de faire comme ça, il n’y a pas vraiment de convention, uniquement un principe.

typedef struct url_internal {
    int scheme;
    int scheme_len;
 
    int user;
    int user_len;
 
    int pass;
    int pass_len;
 
    int host;
    int host_len;
 
    int port;
    int port_len;
 
    int path;
    int path_len;
 
    int query;
    int query_len;
 
    int fragment;
    int fragment_len;
 
    char data[1];
} url_internal;

Nous utilisons un tableau de 1 caractère pour la compilation. Cela permet de dire que c’est bien un tableau de caractères, et comme le compilateur ne vérifie pas la taille des données insérées, nous allons pouvoir lui réserver plus de mémoire, pour y stocker des données plus longues. Ainsi, pour transformer une donnée du type url vers une donnée du type url_internal, nous allons allouer lors de la création de ce url_internal un bloc de mémoire de la taille de la structure + de la taille de la donnée à stocker dans data.

int size = url_size(url, URL_SIZE_CONTENTS); // Récupère la taille des données
url_internal *internal = palloc(sizeof(url_internal) + size);

Ensuite, nous n’avons qu’a mettre bout à bout à l’aide de strcat le contenu des chaines de caractère de url pour en faire une nouvelle chaine data qui sera copiée dans internal->data à l’aide de memcpy:

memcpy(internal->data, data, size);

Pour récupérer ces valeurs depuis un type url_internal vers un type url, rien de plus simple, il vous suffit, pour chaque donnée (host, path, …) d’allouer en mémoire la longueur de la donnée + 1 pour '\0' de fin de chaine, puis de récupérer les données depuis internal->data. Voici un exemple pour récuperer l’host (où object est un url*):

object->host = palloc(internal->host_len+1);
memset(object->host, 0, internal->host_len+1);
memcpy(object->host, (void *) (internal->data + internal->host), internal->host_len);

On récupère internal->host_len caractères dans internal->data à partir du caractère numéro internal->host.

En espérant vous avoir apporter des informations sur ce type de données et comment le manipuler, selon mes conventions. Surtout, n’hésitez pas à allez voir dans le code source de la librairie parse_url v2 pour PostgreSQL, en particulier pour la fonction make_varlena, appelée lors du renvoi de url_internal par la fonction url_in.

par Samuel ROZE le lundi 7 décembre 2009 à 06h00

jeudi 3 décembre 2009

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 29 novembre 2009

Les paquets RPM de PostgreSQL pour Fedora-12 sont disponibles : http://yum.pgsqlrpms.org/news-fedora12-packages-released.php

Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en novembre

PostgreSQL Local

  • La troisième édition du PGday italien sera tenue à l'université de Pise, le 4 décembre. Entrée libre, sponsors bienvenus : http://www.pgday.it/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Devrim Gunduz. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le jeudi 3 décembre 2009 à 22h38

lundi 30 novembre 2009

Actualités PostgreSQL.fr

Nouvelles hebdomadaires de PostgreSQL - 22 novembre 2009

Un compte-rendu de la conférence "PGCon Brasil 2009" est disponible en portugais : http://pgcon.postgresql.org.br/2009/asl/pgcconbr-2009_prest_contas.pdf

Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en novembre

PostgreSQL Local

  • La troisième édition du PGday italien sera tenue à l'université de Pise, le 4 décembre. Entrée libre, sponsors bienvenus : http://www.pgday.it/
  • Stefan Keller, de l'université des sciences appliquées de Rapperswil (HSR), animera un séminaire intitulé "Introduction à PostGIS/PostgreSQL" le 14 janvier 2010 à Zurich (Suisse) : http://www.gis.hsr.ch/wiki/Agenda
  • Le FOSDEM 2010 aura lieu à Bruxelles les 6 & 7 février 2010 : http://www.fosdem.org/
  • Le "Chemnitzer Linuxtage" aura lieu à Chemnitz (All.) les 13 & 14 mars 2010 : http://chemnitzer.linux-tage.de/

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

par N Bougain le lundi 30 novembre 2009 à 03h45

mardi 24 novembre 2009

Guillaume Lelarge

Un peu de traduction pour changer

Après un peu de code sur pgAdmin dont je n'ai pas encore parlé, j'ai fait aujourd'hui un peu de traduction.

Les messages modifiés des versions 7.4 à 8.4 ont été mis à jour. J'ai aussi commencé la traduction de la version 8.5, vu que Peter a ouvert (depuis un bon moment pour être franc) la traduction de la branche en cours de développement. C'est la première fois qu'il le fait, donc autant en profiter pour s'avancer dans ce travail.

Pour la traduction de la documentation de la 8.5, j'attends la fin du commitfest en cours. J'espère pouvoir fournir une traduction de la 8.5 alpha 3 (et de alpha suivantes).

J'ai aussi profité de cette soirée pour regarder les modifications de la documentation Slony entre les versions 1.2.16 et 1.2.17. Rien, que dalle, nada. Au moins, cette mise à jour a été rapide. Mais ça conforte ma mauvaise impression sur ce projet.

par Guillaume Lelarge le mardi 24 novembre 2009 à 22h46

samedi 21 novembre 2009

Guillaume Lelarge

Le PDF du manuel français de PostgreSQL 8.4.1 est enfin disponible

Oui, je sais, ça fait pratiquement cinq mois que ce PDF aurait dû être disponible. Malheureusement, la génération posait problème et travailler sur cette génération, bien que cela ne soit pas complexe, est très ennuyant. On ne peut travailler que par étapes basiques :

  • on lance la génération,
  • en cas d'erreur, on supprime le chapitre suivant,
  • on relance la génération,
  • en cas de nouvelle erreur, on supprime le chapitre suivant,
  • on relance la génération,
  • en cas de succès, on remet l'ancien chapitre, et on supprime une sous-partie du chapitre,
  • on relance la génération,
  • etc... jusqu'à trouver la position de l'erreur,
  • et on recommence tout le processus jusqu'à l'absence de tout problème.

Bref, comme vous pouvez le comprendre, c'est très ennuyant, même si c'est pas forcément difficile à faire.

Voilà, voilà, j'arrête de me plaindre.

Après une heure de travail, le PDF est enfin disponible :)

par Guillaume Lelarge le samedi 21 novembre 2009 à 18h18