parse_url v2

Cette deuxième version de la librairie parse_url pour PostgreSQL créé un nouveau type de donnée: url. C’est-à-dire que vous pouvez créer des tables avec des champs ayant pour type “url“, ce qui permet de rendre plus rapide la sélection et la récupération des différentes parties des adresses URL après création. Les fonctions parse_url(text) et parse_url(text, text) sont donc devenues parse_url(url) et parse_url(url, text).

Installer la version 2 de parse_url

Pour installer la version 2 de parse_url, il vous suffit de télécharger le code source et de le compiler pour créer un module partagé qui sera chargé par PostgreSQL. Télécharger la librairie à cette adresse:

$ mkdir parse_url && cd parse_url
$ wget http://tasks.d-sites.com/attachments/download/38/parse_url-2.tar.gz
$ tar -xf parse_url-2.tar.gz

Une fois téléchargé, nous allons compiler la source, c’est-à-dire créer des fichiers d’exécution propre à votre architecture :

$ make

S’il n’y a pas d’erreurs, il faut maintenant installer la librairie. Mettez vous en super-utilisateur ou tapez sudo -s puis faites:

# make install

Note: $ signifie que la ligne doit être exécutée en tant qu’utilisateur normal et # en tant que super-utilisateur (root)

Maintenant, la librairie est installée. :-)

2 thoughts on “parse_url v2

  1. Attention, comme la v1, il faut apparemment PostgreSQL >= 8.4. Avec une 8.3, ça compile mais :

    psql:parse_url.sql:6: ERROR: could not load library “/usr/lib/postgresql/8.3/lib/parse_url.so”: /usr/lib/postgresql/8.3/lib/parse_url.so: undefined symbol: TextDatumGetCString

    • Oui, tout à fait. TextDatumGetCString n’étant arrivé qu’avec PostgreSQL 8.4, je n’ai pas moyen de l’utiliser. Peut-être qu’en utilisant un petit #define je pourrais l’ajouter dans PostgreSQL <= 8.4 ça… (je ne peux pas reprendre la définition de la 8.4 car elle utilise une fonction créé en 8.4).

      Une idée ?

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Notify me of followup comments via e-mail. You can also subscribe without commenting.