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

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 8.1 已于 2010 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

14.2. 需求 #

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

构建PostgreSQL需要下列软件包:

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

    gmake --version
    

    建议使用 3.79.1 或更高版本。

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

  • 首先需要tar来解开源码发布包,此外还需要gzip或bzip2之一。

  • GNU Readline库(用于舒适的行编辑和命令历史检索)默认会被使用。如果不想使用它,必须为configure指定--without-readline选项。(在NetBSD上,libedit库与Readline兼容,在找不到libreadline时会使用它。)如果你使用基于软件包的 Linux 发行版,注意如果你的发行版把二者分开的话,需要同时安装readline和readline-devel两个软件包。

  • 默认使用zlib压缩库。如果不想使用它,必须为configure指定--without-zlib选项。使用该选项会禁用pg_dump和pg_restore对压缩归档的支持。

  • 在Windows上构建PostgreSQL还需要额外的软件。你可以使用MinGW为基于NT的Windows版本(如 Windows XP 和 2003)构建PostgreSQL;详情见doc/FAQ_MINGW。也可以使用Cygwin构建PostgreSQL;见doc/FAQ_CYGWIN。基于Cygwin的构建可以在较老版本的Windows上工作,但如果有选择,我们推荐MinGW方法。虽然这些是仅有的被推荐用于完整构建的工具集,但也可以使用其他Windows工具集只构建 C 客户端库(libpq)和交互式终端(psql)。相关详情见 第 15 章。

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

  • 要构建服务器编程语言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服务器编程语言,需要一个带有头文件和distutils模块的Python安装。distutils模块默认包含在 1.6 及之后的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 2.3 或更高版本的 configure 加上--enable-shared标志。在某些操作系统上无须构建共享库,但你得让PostgreSQL的构建系统相信这一点。细节请查阅src/pl/plpython目录中的Makefile。

  • 要构建PL/Tcl过程语言,当然需要一个 Tcl 安装。

  • 要启用本地语言支持(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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。