[Linux-bruxelles] PostgreSQL - terminal psql

Frederic Peters fpeters at 0d.be
Mer 3 Aou 08:48:46 CEST 2011


Jean-Marc écrivait :

> Depuis le passage à Squeeze et à la version 8.4.8 de PostgreSQL, psql,
> l'interface en ligne de commande ne me permet plus d'utiliser les
> caractères accentués et certaines autres fonctions comme le CRTL-R pour
> faire des recherches dans l'historique.
> 
> D'autres personnes ont-elles eu le même phénomène ?

Oui, la raison c'est que postgresql utilisait pour sa gestion de la
console la bibliothèque libreadline, publiée sous GPL tout en
utilisant libssl, publiée sous une licence incompatible, il a donc été
décidé de lier psql à libedit, qui fournit les mêmes fonctions que
libreadline, sous une licence compatible.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603598 contient la
discussion sur ce problème de licence.

Malheureusement libedit gère moins de choses que libreadline, avec
comme résultat ce dont tu t'es rendu compte, il y a une série de bugs
à ce sujet, 607109, 607143, 607907, 608442 et 611918.

Dans un de ceux-là, il est expliqué qu'une astuce possible est de
précharger libreadline lors du lancement de psql, de sorte que ses
symboles soient utilisés, plutôt que ceux de libedit, ainsi :

  LD_PRELOAD=/lib/libreadline.so.5 psql


Bien à toi,

        Fred




Plus d'informations sur la liste de diffusion Linux-bruxelles