作者:瀚高PG实验室 (Highgo PG Lab)- 海无涯
我们在使用postgresql数据库的时候经常遇到的问题:
[highgo@hgdb ~]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/..5866"?
前期我已经为大家讲过三大类的可能性和解决方案,近期又遇到了一种新的情况,很简单,但却很容易被忽略。
环境:通常为国产环境(例如中标麒麟、普华linux等)
现象如上,但是数据库是启动状态且环境变量在安装完已经通过source生效,环境变量如下:
export LANG=C
export PGHOME=/data/highgo/4.1
export PGUSER=highgo
export PGPORT=5866
export PGDATA=$PGHOME/data
export PATH=$PGHOME/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
状态:
[highgo@hgdb ~]$ pg_ctl status
pg_ctl: server is running (PID: 1237)
/data/highgo/4.1.1/bin/postgres "-D" "/data/highgo/4.1.1/data"
问题原因:环境变量在安装完数据库没有实际生效,重新通过如下命令使得环境变量生效:
source /home/highgo/.bash_profile
重新连接,成功:
[highgo@hgdb ~]$ psql
psql (4.1.1)
PSQL: Release 4.1.1
Connected to:
HighGo Database V4.1 Enterprise Edition Release 4.1.1 - 64-bit Production
Type "help" for help.
highgo=#