使用在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了。)
本文出自:億恩科技【www.laynepeng.cn】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|