[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