<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.rodolphe.quiedeville.org/index.php?feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>One more geek - Mot-clé - postgresql</title>
  <link>http://blog.rodolphe.quiedeville.org/index.php?</link>
  <atom:link href="http://blog.rodolphe.quiedeville.org/index.php?feed/tag/postgresql/rss2" rel="self" type="application/rss+xml"/>
  <description>Les tribulations d'un geek sur le web</description>
  <language>fr</language>
  <pubDate>Tue, 18 Jun 2013 05:41:09 +0200</pubDate>
  <copyright>CC-BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Backport postgis 1.5.3 pour squeeze</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2012/06/Backport-postgis-1.5.3-pour-squeeze</link>
    <guid isPermaLink="false">urn:md5:723a51188a50d8e8a6e16106afb6a0bd</guid>
    <pubDate>Fri, 01 Jun 2012 13:02:00 +0200</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Backports</category>
        <category>backport</category><category>debian</category><category>postgis</category><category>postgresql</category><category>squeeze</category>    
    <description>    &lt;p&gt;Bien que postgresql-9.1 existe déjà dans les backports officiels de debian
(&lt;a href=&quot;http://packages.debian.org/squeeze-backports/postgresql-9.1&quot;&gt;url&lt;/a&gt;) l'extension postgis pour cette version n'y est pas présente. Voulant passer à postgresql 9.1 dans ma chaîne de rendu OpenstreetMpa j'ai réalisé la backport du paquet postgresql-9.1-postgis que j'ai mis à disposition dans mon &lt;a href=&quot;http://rodolphe.quiedeville.org/debian/&quot;&gt;dépôt personnel&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;postgis 1.5.3-2~bpo60+1&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;postgresql-9.1-postgis 1.5.3-2~bpo60+1&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Première carte publiée</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2010/04/Premi%C3%A8re-carte-publi%C3%A9e</link>
    <guid isPermaLink="false">urn:md5:00cc3e476ceea38034499a8e50c49841</guid>
    <pubDate>Thu, 29 Apr 2010 12:43:00 +0200</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>OpenStreetMap</category>
        <category>ll</category><category>osm</category><category>postgresql</category><category>python</category><category>éolien</category>    
    <description>    &lt;p&gt;Afin de regouper dans un même lieu numérique les cartes que je publie j'ai mis en place un espace nommé &lt;a href=&quot;http://carto.quiedeville.org&quot;&gt;carto.quiedeville.org&lt;/a&gt;. Celui-ci est inauguré avec la publication de la carte des éoliennes en France présente dans OpenStreetMap, j'en dénombre 193 ce jour.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.rodolphe.quiedeville.org/public/carto.png&quot; alt=&quot;Carto&quot; title=&quot;Carto, avr. 2010&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Paquet debian pour pgtune</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2009/11/Paquet-debian-pour-pgtune</link>
    <guid isPermaLink="false">urn:md5:4bdb64869b55b3221371e5c27dc5f46e</guid>
    <pubDate>Sun, 15 Nov 2009 18:46:00 +0100</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Database</category>
        <category>debian</category><category>ll</category><category>packaging</category><category>postgresql</category>    
    <description>    &lt;p&gt;Le paquet debian pour &lt;a href=&quot;http://pgfoundry.org/projects/pgtune/&quot;&gt;pgtune&lt;/a&gt; est finit et uploadé sur les serveurs FTP. Vous pouvez suivre son évolution au travers du bug report ITP &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=553975&quot;&gt;#553975&lt;/a&gt;. La file d'inclusion de nouveaux paquets est assez chargée ces temps-ci, cela va peut-être prendre plusieurs jours pour voir le paquet apparaître dans SID. Je laisse le paquet disponible dans &lt;a href=&quot;http://mentors.debian.net/cgi-bin/sponsor-pkglist?action=details;package=pgtune&quot;&gt;mentors&lt;/a&gt; le temps de son inclusion.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>pgpool-II 2.2.5 dans Debian</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2009/10/pgpool2-en-route-pour-Debian</link>
    <guid isPermaLink="false">urn:md5:18b9de91de868694a5af9e1ee81b974c</guid>
    <pubDate>Thu, 29 Oct 2009 09:57:00 +0100</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Database</category>
        <category>debian</category><category>ll</category><category>packaging</category><category>postgresql</category>    
    <description>    &lt;p&gt;La dernière version de &lt;a href=&quot;http://pgfoundry.org/projects/pgpool/&quot;&gt;pgpool-II&lt;/a&gt;, la 2.2.5 vient d'être intégrée dans debian experimental, vous pouvez suivre son évolution au travers de la page du &lt;a href=&quot;http://packages.qa.debian.org/p/pgpool2.html&quot;&gt;package tracking system&lt;/a&gt; dédiée.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Backport lenny de prefix pour PostgreSQL</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2009/10/Backport-lenny-de-prefix</link>
    <guid isPermaLink="false">urn:md5:6fd7f87d074e5b65bb9ce3ee00bcd62a</guid>
    <pubDate>Tue, 20 Oct 2009 09:38:00 +0200</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Backports</category>
        <category>backport</category><category>debian</category><category>lenny</category><category>ll</category><category>postgresql</category><category>prefix</category>    
    <description>    &lt;p&gt;Le backport du jour, la librairie &lt;a href=&quot;http://pgfoundry.org/projects/prefix/&quot;&gt;prefix&lt;/a&gt; de &lt;a href=&quot;http://tapoueh.org/&quot;&gt;Dimitri Fontaine&lt;/a&gt; permet un accés plus rapide aux données utilisant la notion de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Préfixe&quot;&gt;préfixe&lt;/a&gt;, typiquement dans la téléphonie ou le préfixe du numéro composé est primordial pour la tarification.&lt;/p&gt;


&lt;p&gt;Accès direct au binaire pour &lt;a href=&quot;http://rodolphe.quiedeville.org/debian/pool/main/p/prefix/&quot;&gt;i386&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Cage ou package ?</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2009/10/Cage-ou-package</link>
    <guid isPermaLink="false">urn:md5:458411efa5a897ed3a84f81a258a7cc7</guid>
    <pubDate>Mon, 12 Oct 2009 16:25:00 +0200</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Database</category>
        <category>debian</category><category>ll</category><category>packaging</category><category>postgresql</category>    
    <description>    &lt;p&gt;Dans ma lancée sur les backports, j'ai rejoins le projet &lt;a href=&quot;https://alioth.debian.org/projects/pkg-postgresql/&quot;&gt;pkg-postgresql&lt;/a&gt; de packaging des utilitaires dédiés à PostgreSQL. Je vais pour commencer m'attaquer au packaging de &lt;a href=&quot;http://pgfoundry.org/projects/pgpool/&quot;&gt;pgpool-II&lt;/a&gt; qui a quelques versions stables de retard.
À ce jour la dernière version dans sid est numéroté &lt;a href=&quot;http://packages.qa.debian.org/p/pgpool2.html&quot;&gt;1.3.2&lt;/a&gt; quand la dernière version stable publiée est la &lt;a href=&quot;http://pgfoundry.org/projects/pgpool/&quot;&gt;2.2.5&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Backport lenny de pgbouncer</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2009/10/Backport-lenny-de-pgbouncer</link>
    <guid isPermaLink="false">urn:md5:e480a37e4bfcd79a45670ca2bec1c4e8</guid>
    <pubDate>Sat, 03 Oct 2009 18:28:00 +0200</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Database</category>
        <category>backport</category><category>debian</category><category>lenny</category><category>ll</category><category>pgbouncer</category><category>postgresql</category>    
    <description>    &lt;p&gt;Nouveau backport d'un outil lié à PostgreSQL, &lt;a href=&quot;http://pgfoundry.org/projects/pgbouncer/&quot;&gt;pgbouncer&lt;/a&gt; est un gestionnaire de pool de connexion fortement utile sur les systèmes à nombreuses connexions répétitives.&lt;/p&gt;


&lt;p&gt;Seule dépendance de pgbouncer, la libevent en version 1.4 qui n'est pas pas non plus packagée dans Lenny, j'en ai donc réalisé également un backport disponible toujours au même &lt;a href=&quot;http://rodolphe.quiedeville.org/backports/lenny/&quot;&gt;endroit&lt;/a&gt;.
Pour ceux qui ne connaissent pas pgbouncer et souhaiteraient appronfondir le sujet je leur conseille la lecture du &lt;a href=&quot;http://www.ed-diamond.com/produit.php?ref=lmhs44&amp;amp;id_rubrique=2&amp;amp;caracteristique=1-2-&amp;amp;caracdisp=2-4-&quot;&gt;hors-série 44&lt;/a&gt; de GNU/Linux magazine dédiée à PostgreSQL.&lt;/p&gt;



&lt;p&gt;Première étape, installons la libevent&lt;/p&gt;
&lt;pre&gt;
wget http://rodolphe.quiedeville.org/backports/lenny/i386/libevent-1.4-2_1.4.12-stable-1_i386.deb
dpkg -i libevent-1.4-2_1.4.12-stable-1_i386.deb
&lt;/pre&gt;


&lt;p&gt;Outre libevent pgbouncer à d'autres dépendances qu'il vaut mieux s'assurer d'avoir sur sa machine avant d'installer le paquet.&lt;/p&gt;

&lt;pre&gt;
aptitude install postgresql-common lsb-base libgcc1 libc6
&lt;/pre&gt;


&lt;p&gt;Ceci étant fait il ne nous reste plus qu'à installer le paquet pgbouncer&lt;/p&gt;

&lt;pre&gt;
wget http://rodolphe.quiedeville.org/backports/lenny/i386/pgbouncer_1.3.1-1_i386.deb
dpkg -i pgbouncer_1.3.1-1_i386.deb
&lt;/pre&gt;


&lt;p&gt;Voilà pgbouncer d'installé sur votre distribution stable favorite, il est à noter que par défaut pgbouncer n'est pas lancé, il faut au préalable modifier le fichier &lt;code&gt;/etc/default/pgbouncer&lt;/code&gt; comme indiqué par le warning lors de l'installation du paquet.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Backport du paquet postgresl-8.3-plr</title>
    <link>http://blog.rodolphe.quiedeville.org/index.php?post/2009/09/Backport-du-paquet-postgresl-83-plr</link>
    <guid isPermaLink="false">urn:md5:b8b5914680e9658bdf57384a1f8a1611</guid>
    <pubDate>Fri, 25 Sep 2009 10:54:00 +0200</pubDate>
    <dc:creator>Rodolphe Quiédeville</dc:creator>
        <category>Database</category>
        <category>backport</category><category>debian</category><category>ll</category><category>postgresql</category><category>R</category>    
    <description>    &lt;p&gt;Partant d'un besoin de calculs statistiques sur des données stockées dans postgresql j'ai été ammené à intégrer le langage &lt;a href=&quot;http://www.r-project.org/&quot;&gt;R&lt;/a&gt; dans notre SI, travaillant avec PostgreSQL sous Debian j'ai cherché le paquet idoine pour me faciliter l'intégration, celui-ci n'existant que dans Squeeze j'ai backporté le &lt;a href=&quot;http://packages.debian.org/squeeze/postgresql-8.3-plr&quot;&gt;paquet postgresql-8.3-plr&lt;/a&gt; pour Lenny que je mets à disposition &lt;a href=&quot;http://rodolphe.quiedeville.org/backports/lenny/&quot;&gt;ici&lt;/a&gt;. Le paquet original est basé sur le travail Joseph E Conway à l'origine de &lt;a href=&quot;http://www.joeconway.com/plr/&quot;&gt;PL/R&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Je profite de ce billet pour décrire l'intégration complète de PL/R dans PostgreSQL.&lt;/p&gt;


&lt;p&gt;On y va, première étape récupérer le paquet pour Lenny&lt;/p&gt;

&lt;pre&gt;
wget http://rodolphe.quiedeville.org/backports/lenny/i386/postgresql-8.3-plr_8.3.0.8-1_i386.deb
&lt;/pre&gt;


&lt;p&gt;On procède à l'installation en ayant au préalable installé les dépendances du paquet qui sont &lt;strong&gt;r-base-core&lt;/strong&gt;, &lt;strong&gt;postgresql-8.3&lt;/strong&gt;, et &lt;strong&gt;libc6 (&amp;gt;= 2.7-1)&lt;/strong&gt;, toutes satisfaites dans Lenny à ce jour. J'ose imaginer que vous avez déjà postgresql-8.3 et la libc6 d'installée ;-)&lt;/p&gt;

&lt;pre&gt;
heke:/usr/src# dpkg -i postgresql-8.3-plr_8.3.0.8-1_i386.deb
Selecting previously deselected package postgresql-8.3-plr.                             
(Reading database ... 42279 files and directories currently installed.)                 
Unpacking postgresql-8.3-plr (from postgresql-8.3-plr_8.3.0.8-1_i386.deb) ...           
Setting up postgresql-8.3-plr (1:8.3.0.8-1) ...
&lt;/pre&gt;


&lt;p&gt;L'installation du paquet étant fait nous allons maintenant intégrer ce nouveau langage dans notre base et créer une première fonction d'aggrégat pour calculer la &lt;a href=&quot;http://fr.wikipedia.org/wiki/Médiane_(centre)&quot; hreflang=&quot;fr&quot;&gt;médiane&lt;/a&gt;. Pour cela nous allons avoir besoin de deux nouvelles fonctions que sont &lt;strong&gt;plr_array_accum&lt;/strong&gt; et &lt;strong&gt;median&lt;/strong&gt;, nous travaillerons en double precision. Vous pouvez télécharger le fichier de commande SQL &lt;a href=&quot;http://rodolphe.quiedeville.org/hack/postgresql/plr.sql&quot;&gt;plr.sql&lt;/a&gt; qui crée les fonctions pour tous les types numériques courants.&lt;/p&gt;

&lt;pre&gt;
CREATE FUNCTION plr_array_accum (_float8, float8)
       RETURNS float8[]
       AS '$libdir/plr','plr_array_accum'
       LANGUAGE 'C';

CREATE FUNCTION r_median(_float8)
       RETURNS float
       AS 'median(arg1)'
       LANGUAGE 'plr';

CREATE AGGREGATE median (
       sfunc = plr_array_accum,
       basetype = float8,
       stype = _float8,
       finalfunc = r_median
);
&lt;/pre&gt;


&lt;p&gt;Ceci étant fait nous allons maintenant créer une table avec un jeu de test.&lt;/p&gt;

&lt;pre&gt;
CREATE TABLE foo (
    bar double precision
);   
&lt;/pre&gt;


&lt;p&gt;et le jeu de test&lt;/p&gt;

&lt;pre&gt;
INSERT INTO foo (bar) VALUES (5);
INSERT INTO foo (bar) VALUES (48);
INSERT INTO foo (bar) VALUES (110);
INSERT INTO foo (bar) VALUES (36);
&lt;/pre&gt;


&lt;p&gt;Nous allons maintenant pouvoir calculer la médiane de bar aussi simplement que son maximum ou la somme en utilisant la nouvelle fonction d'agrégat &lt;em&gt;median&lt;/em&gt;&lt;/p&gt;

&lt;pre&gt;
test=# SELECT median(bar) from foo ;
 median
--------
     42
(1 row)
&lt;/pre&gt;


&lt;p&gt;Un tel résultat ne peut-être qu'exact, non&amp;nbsp;?&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>