多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 15.5\. 安装后设置 ## 15.5.1\. 共享库 在一些有共享库的系统里, 你需要告诉系统如何找到新安装的共享库。 那些并_不是_必须做这个工作的系统包括 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 ``` 在`csh`或者`tcsh`中: ``` setenv LD_LIBRARY_PATH /usr/local/pgsql/lib ``` 把 `/usr/local/pgsql/lib`换成你在[step 1](#calibre_link-1088)设置的`--libdir`。 你应该把这些命令放到启动文件,如`/etc/profile`或者`~/.bash_profile`里面。 和这个方法相关的一些注意事项和很好的信息可以在[http://xahlee.org/UnixResource_dir/_/ldpath.html](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 ``` 那么这一步就是必须的了。只需关注一下就是了。 如果你的系统是Linux并且你还有root权限, 那么你可以运行: ``` /sbin/ldconfig /usr/local/pgsql/lib ``` (或者相应的目录)以便让运行时链接器更快地找到共享库。 请参考`ldconfig`的手册页获取更多信息。 在FreeBSD, NetBSD和OpenBSD上,命令是: ``` /sbin/ldconfig -m /usr/local/pgsql/lib ``` 我们不知道其它系统有什么等效命令。 ## 15.5.2\. 环境变量 如果你安装到`/usr/local/pgsql`或者其它什么缺省时不搜索程序的地方, 那你应该增加一个`/usr/local/pgsql/bin` (或者是你在[step 1](#calibre_link-1088)中给你的`PATH`设置`--bindir`的值)。 严格说,这些都不是必须的, 但这么做可以让你使用PostgreSQL更方便。 要做这些事情,把下面几行加到shell启动文件, 如`~/.bash_profile`或者`/etc/profile`(如果你想影响所有用户): ``` PATH=/usr/local/pgsql/bin:$PATH export PATH ``` 如果你用的是`csh`或者`tcsh`,那么用这条命令: ``` set path = ( /usr/local/pgsql/bin $path ) ``` 为了让系统找得到man文档, 你需要加类似下面的一行到一个shell启动文件里(除非你安装到了缺省时搜索的位置): ``` MANPATH=/usr/local/pgsql/man:$MANPATH export MANPATH ``` 环境变量`PGHOST`和`PGPORT`为客户端应用声明了数据库服务器的主机和端口, 覆盖了那些编译时的缺省项。如果你想从远端运行客户端应用, 那么每个准备使用该数据库的用户都设置`PGHOST`将会非常方便。 但这不是必须的,而且大部分客户端程序也可以通过命令行选项替换这些设置。