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 comments

  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

  2. Samuel ROZE dit :

    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 ?

Laisser un commentaire