psql控制台不接受本地化

Dyt*_*tut 6 linux postgresql console debian psql

我在其中一台机器上遇到了一个奇怪的问题.

这是Debian Squeeze的全新安装,Postgres 8.4.10.

我在机器上安装了一些本地化,locale -a给出了:

C
en_US
en_US.iso88591
en_US.utf8
POSIX
swedish
sv_SE
sv_SE.iso88591
sv_SE.utf8
Run Code Online (Sandbox Code Playgroud)

在常规的Linux控制台中,我可以使用瑞典语本地化(åäöworks),但是当我进入psql控制台时,我无法使用本地化字符.无论我如何配置我的终端(尝试了我能想到的每一种编码).

数据库本身工作正常,我可以通过创建一个SQL文件并在那里保留插入来输入本地化的字符.这不是最有效的方式;-)

之前没有遇到过这个问题,我安装了不少机器.有没有人知道这可能是什么原因?

Dan*_*ité 7

我相信你遇到了这个错误报告中解释的问题:http: //bugs.debian.org/cgi-bin/bugreport.cgi?video = 608442

简介:由于许可问题,psql现在链接到libedit而不是libreadline,不幸的是libedit在重音字符方面被破坏/不完整.根据该报告,解决方法是使用以下命令启动psql:

LD_PRELOAD=/lib/libreadline.so.5 psql
Run Code Online (Sandbox Code Playgroud)

或者将postgresql-common软件包升级到114或更高版本.由于它不在稳定分支中,最简单的方法可能是切换到backports:

# aptitude -t squeeze-backports install postgresql-common
Run Code Online (Sandbox Code Playgroud)