↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本PostgreSQL 7.4 已于 2010 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

14.2. 需求 #

一般来说,现代的 Unix 兼容平台应该能够运行 PostgreSQL。发布时经过具体测试的平台列于下方 第 14.7 节。发行包的 doc 子目录中有若干平台特定的 FAQ 文档,遇到问题时可以查阅。

构建PostgreSQL需要下列软件包:

  • 需要 GNU make;其他make程序不能用。GNU make通常安装在gmake名下;本文档一律用该名称称呼它。(在某些系统上GNU make就是默认的make工具。)要测试是否为GNU make,可输入

    gmake --version
    

    建议使用 3.76.1 或更高版本。

  • 需要一个ISO/ANSI C 编译器。推荐使用较新版本的GCC,但已知PostgreSQL可以用各厂商的多种编译器构建。

  • 首先需要gzip来解开发布包。

  • 默认将使用 GNU Readline 库(用于舒适的行编辑和命令历史检索)。如果你不想使用它,就必须为 configure 指定 --without-readline 选项。(在 NetBSD 上,libedit 库与 Readline 兼容,找不到 libreadline 时会使用它。)

  • 要在 Windows NT 或 Windows 2000 上构建,需要 Cygwin 和 cygipc 软件包。详情见 doc/FAQ_MSWIN 文件。

下面的软件包是可选的。默认配置中不需要它们,但启用某些构建选项时需要,如下所述。

  • 要构建服务器编程语言 PL/Perl,你需要完整的 Perl 安装,包括 libperl 库和头文件。由于 PL/Perl 将是一个共享库,在大多数平台上 libperl 库也必须是共享库。较新的 Perl 版本中这似乎是默认设置,但早期版本并非如此,而且无论如何这都是在你的站点上安装 Perl 的人的选择。如果你打算不只是偶尔使用 PL/Perl,应确保 Perl 安装在构建时启用了 usemultiplicity 选项(perl -V 会显示是否如此)。

    如果你没有共享库但需要一个,构建期间会出现类似下面的消息指出这一事实:

    *** Cannot build PL/Perl because libperl is not a shared library.
    *** You might have to rebuild your Perl installation.  Refer to
    *** the documentation for details.
    

    (如果你没有留意屏幕输出,只会注意到 PL/Perl 库对象(plperl.so 或类似名称)没有被安装。)如果看到这条消息,你就必须手动重新构建并安装 Perl,才能构建 PL/Perl。在 Perl 的配置过程中,请求共享库。

  • 要构建 PL/Python 服务器编程语言,你需要一个 Python 安装,包括头文件。由于 PL/Python 将是一个共享库,在大多数平台上 libpython 库也必须是共享库。默认的 Python 安装并非如此。

    如果构建和安装之后你有一个名为 plpython.so(扩展名可能不同)的文件,那就一切顺利。否则你应当看到过类似下面一闪而过的通知:

    *** Cannot build PL/Python because libpython is not a shared library.
    *** You might have to rebuild your Python installation.  Refer to
    *** the documentation for details.
    

    这意味着你必须重新构建(部分)你的 Python 安装来提供这个共享库。

    问题在于 Python 发行版或 Python 维护者没有提供任何直接的做法。我们能提供的最接近的信息是 Python FAQ 3.30。在某些操作系统上你其实不必构建共享库,但那时你得让 PostgreSQL 构建系统相信这一点。细节请查阅 src/pl/plpython 目录中的 Makefile。

  • 如果你想构建 Tcl 或 Tk 组件(客户端和 PL/Tcl 语言),你当然需要一个 Tcl 安装。

  • 要构建 JDBC 驱动,你需要 Ant 1.5 或更高版本和一个 JDK。Ant 是一个用于构建基于 Java 的软件包的特殊工具。可以从 Ant 的网站下载。

    如果你安装了多个 Java 编译器,使用哪一个取决于 Ant 的配置。预编译的 Ant 发行版通常被设置为读取当前用户主目录中的 .antrc 文件作为配置。例如,要使用与默认不同的 JDK,这样做也许可行:

    JAVA_HOME=/usr/local/sun-jdk1.3
    JAVACMD=$JAVA_HOME/bin/java
    

    注意

    不要试图通过直接调用 ant 甚或 javac 来构建驱动。那样不行。按下面所述正常运行 gmake 即可。

  • 要启用本机语言支持(NLS),即以英语以外的语言显示程序消息的能力,你需要一个 Gettext API 的实现。某些操作系统内置了它(例如 Linux、NetBSD、 Solaris),其他系统可以从这里下载附加软件包:http://developer.postgresql.org/~petere/bsd-gettext/。如果你使用的是 GNU C 库中的 Gettext 实现,那么你还需要 GNU Gettext 软件包提供的一些实用程序。对其他任何实现都不需要它。

  • 以及 Kerberos、OpenSSL 或 PAM,如果你想支持使用这些服务的认证的话。

如果你要从Git树而不是正式源码包构建,或者要做服务器开发,还需要下列软件包:

  • 从 Git 检出构建时需要 GNU Flex和Bison,修改了实际的扫描器和解析器定义文件时也需要。如果需要它们,务必使用Flex 2.5.4 或更高版本以及Bison 1.875 或更高版本。其他yacc程序有时也能使用,但这样做需要额外的努力,不予推荐。其他lex程序则肯定不能用。

如果需要获取 GNU 软件包,可以从本地的 GNU 镜像站点获取(站点列表见 http://www.gnu.org/order/ftp.html),或者从 ftp://ftp.gnu.org/gnu/ 获取。

还要检查你是否有足够的磁盘空间。编译期间源码树大约需要 65 MB,安装目录大约需要 15 MB。空的数据库集簇约占 25 MB,数据库所占空间约为容纳相同数据的纯文本文件的五倍。如果你打算运行回归测试,临时最多还需要额外的 90 MB。用 df 命令检查磁盘空间。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。