我在服务器上安装了两个PostgreSQL实例: 8.3和9.0。在PostgreSQL9.0客户端- psql上,波兰的对话框字符(如ółęąśżźć)有一些问题。
当我用psql8.3连接到DB ( 8.3或9.0)时,我可以在终端上键入所有对话符,没有任何问题:
www:/tmp# sudo -u postgres /usr/lib/postgresql/8.3/bin/psql -q
postgres=# ółśćń但是,当我用psql9.0客户端连接到相同的DB时,我不能再在终端上键入对话:
www:/tmp# sudo -u postgres /usr/lib/postgresql/8.3/bin/psql -q以下是一些编码设置:
www:/tmp# sudo -u postgres /usr/lib/postgresql/9.0/bin/psql -q -c "show client_encoding"
client_encoding
-----------------
UTF8
(1 row)。
www:/tmp# sudo -u postgres /usr/lib/postgresql/8.3/bin/psql -q -c "show client_encoding"
client_encoding
-----------------
UTF8
(1 row)。
www:/tmp# sudo -u postgres /usr/lib/postgresql/9.0/bin/psql -q -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
---------------------+--------------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | pl_PL.UTF-8 | pl_PL.UTF-8 |。
www:/tmp# echo $LANG
pl_PL.UTF-8看起来DB/集群配置并不重要--如果终端上的psql 8.x工作正常,而psql 9.x不工作的话。知道怎么解决吗?
发布于 2011-01-31 13:42:26
这可能与psql 9.0.2从读行切换到libedit有关。您可以尝试(为我工作,Ubuntu10.04):
rlwrap psql -n ...另一种选择是:
LD_PRELOAD='/lib/libreadline.so.5' psql ...或者,建议安装termcap,但我还没有尝试过这一点(在Ubuntu中没有明显的方法)。
https://serverfault.com/questions/220604
复制相似问题