Linux下安装Postgresql-9.0.x 提示:Cannot read termcap database;

羊八井 posted @ 2011年5月03日 17:41 in Database with tags linux PostgreSQL termcap , 1405 阅读

使用在postgresql.org下载的x86_64二进制版的postgres 9.0.3安装包,解压到了/opt/pgsql。使用initdb命令初始化数据库后向往常一样使用psql命令登陆数据库,提示找不到termcap 等一些动态库,把/opt/pgsql/lib目录加入LD_LIBRARY_PATH环境变量就好了。

  再次使用psql登陆数据库,却提示如下错误:
    [yangjing@yangxunjing ~]$ /opt/Netposa/usr/pgsql/9.0/bin/psql -p 5433 -U yangjing -d netposa  
    psql (9.0.3)  
    Type "help" for help.  
    Cannot read termcap database;  
    using dumb terminal settings.  
    Aborted  
 
  google查找后说是缺少termcap库,但是在/opt/pgsql/lib目录下是有这个库的:libtermcap.so.2, 我给它做了个软链接libtermcap.so后再次运行psql命令错误依旧。后来安装了系统自带的compat-libtermcap- 2.0.8-49.el6.x86_64软件包后就可以正常运行psql命令登陆数据库了。发现termcap包在/etc目录下生成了一个 termcap数据库文件。我把/etc/termcap文件备份后删除compat-libtermcap软件包,再把termcap文件拷贝回 /etc目录再次运行psql命令也能正常登陆postgresql数据库。看来我只需要把termcap文件留个备份就好了,以后再次使用官方的二进包 安装时将其放到/etc目录就行了。
  (注:使用rpm包安装的不需要termcap数据文件,看了下psql的库依赖都没有使用到libtermcap.so。不知道官方的二进制包为什么需要这个库。现在大部份软件都是使用的ncurses了。)

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter