15.6. 安装后的设置

15.6.1. 共享库

在有共享库的系统里,需要告诉系统如何找到新安装的共享库。 那些不需要这么做这个系统包括not necessary include BSD/OS, FreeBSD, HP-UX, IRIX, Linux, NetBSD, OpenBSD, Tru64 UNIX (以前的Digital UNIX,和 Solaris

设置共享库查询路径的方法因平台而异, 但是最广泛使用的方法是设置LD_LIBRARY_PATH环境变量, 比如在Bourne shell(sh, ksh, bash, zsh):

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

cshtcsh中:

setenv LD_LIBRARY_PATH /usr/local/pgsql/lib

/usr/local/pgsql/lib换成你在step 1 设置的--libdir。 你应该把这些命令放到启动文件,如/etc/profile~/.bash_profile里面。 和这个方法相关的一些注意事项和很好的信息可以在 http://xahlee.org/UnixResource_dir/_/ldpath.html找到。

在有些系统上,更好的方法可能是在编译之前设置LD_RUN_PATH环境变量。

Cygwin里, 把库目录放在PATH下 或者把.dll文件移动到bin目录下。

如果有疑问,请参考系统的手册页(可能是ld.so或者rld)。 如果稍后你看到如下信息:

   psql: error in loading shared libraries
   libpq.so.2.1: cannot open shared object file: No such file or directory
    

那么这一步就是必须的了。简单关注一下。

如果你的系统是BSD/OS, Linux, SunOS 4 并且你还有root权限,那么你可以在安装后运行:

/sbin/ldconfig /usr/local/pgsql/lib

(或者相应的目录)以便运行时让链接器更快地找到共享库。 请参考ldconfig的手册页获取更多信息。 在FreeBSD, NetBSD, OpenBSD上,该命令是:

/sbin/ldconfig -m /usr/local/pgsql/lib

其它系统暂未发现有什么等效命令。

15.6.2. 环境变量

如果你安装到/usr/local/pgsql/bin或者程序缺省查询时搜索不到的地方, 那你应该在PATH环境变量里增加一个/usr/local/pgsql/bin (或者是你在step 1给选项--bindir设置的值)。 严格说,这些都不是必须的,但这么做可以让你使用PostgreSQL更方便。

要做这些事情,把下面几行加到shell启动文件, 如~/.bash_profile/etc/profile(如果你想影响所有用户)中:

PATH=/usr/local/pgsql/bin:$PATH
export PATH

如果你用的是cshtcsh,那么用这条命令:

set path = ( /usr/local/pgsql/bin $path )

为了让系统找得到man文档, 你需要加类似下面的一行到一个shell启动文件里(除非你安装到了缺省时搜索的位置):

MANPATH=/usr/local/pgsql/man:$MANPATH
export MANPATH

环境变量PGHOSTPGPORT为客户端应用声明了数据库服务器的主机和端口, 覆盖了那些编译时的缺省项。 如果你想从远端运行客户端应用, 那么每个准备使用该数据库的用户都设置PGHOST将会变得非常方便。 但这不是必须的,而且大部分客户端程序也可以通过命令行选项替换这些设置。