# 17.2.要求

一般来说,与Unix兼容的现代平台应该能够运行PostgreSQL。发布时已接受特定测试的平台如中所述第17.6节在下面

构建PostgreSQL需要以下软件包:

  • 需要GNU make 3.80或更新版本;其他make程序或较旧的GNU make版本将工作(GNU make有时以gmake)要测试GNU make enter:

    make --version
    
  • 你需要一个ISO/ANSI C编译器(至少符合C99)。推荐使用最新版本的GCC,但众所周知,PostgreSQL使用来自不同供应商的各种编译器构建。

  • 除了gzip或bzip2之外,解包源发行版还需要tar。

  • 默认情况下使用GNU Readline库。它允许psql(PostgreSQL命令行SQL解释器)记住您键入的每个命令,并允许您使用箭头键调用和编辑以前的命令。这非常有帮助,强烈推荐。如果不想使用它,则必须指定--没有读线选择配置。作为替代方案,您可以经常使用BSD许可证libedit图书馆,最初是在NetBSD上开发的。这个libedit库与GNU Readline兼容,在以下情况下使用libreadline找不到,或者如果--有libedit优先用作配置。如果您使用的是基于软件包的Linux发行版,请注意您需要阅读线readline-devel软件包,如果这些在您的发行版中是分开的。

  • 默认情况下使用zlib压缩库。如果不想使用它,则必须指定--没有zlib选择配置.使用此选项将禁用对pg中压缩档案的支持_转储和pg_恢复

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

  • 要构建服务器编程语言PL/Perl,需要完整的Perl安装,包括libperl库和头文件。所需的最低版本是Perl 5.8.3.由于PL/Perl将是一个共享库 libperl在大多数平台上,库也必须是共享库。在最近的Perl版本中,这似乎是默认设置,但在早期版本中并非如此,而且在任何情况下,这都是在您的站点上安装Perl的用户的选择。配置如果选择building PL/Perl,但找不到共享libperl.在这种情况下,您必须手动重建并安装Perl,才能构建PL/Perl。在Perl的配置过程中,请求共享库。

    如果您打算使用PL/Perl,那么应该确保Perl安装是使用用途多样性选项启用(perl-V将显示是否是这种情况)。

  • 要构建PL/Python服务器编程语言,需要安装带有头文件和sysconfig模块的Python。所需的最低版本是Python 2.7.如果是3.2版或更高版本,则支持Python 3;但是你看第46.1节当使用Python 3时。

    由于PL/Python将是一个共享库 libpython在大多数平台上,库也必须是共享库。在从源代码构建的默认Python安装中并非如此,但在许多操作系统发行版中都有一个共享库。配置如果选择building PL/Python,但找不到共享libpython。这可能意味着您必须安装其他软件包或重建Python安装(部分)以提供此共享库。从源代码构建时,使用--启用共享旗帜

  • 要构建PL/Tcl过程语言,当然需要安装Tcl。所需的最低版本是Tcl 8.4.

  • 要启用本机语言支持(NLS),即以英语以外的语言显示程序消息的能力,需要实现Gettext API。有些操作系统有这种内置功能(例如Linux、NetBSD、Solaris),对于其他系统,您可以从中下载附加软件包https://www.gnu.org/software/gettext/ (opens new window)。如果您在GNU C库中使用Gettext实现,那么对于一些实用程序,您还需要GNU Gettext包。对于任何其他实现,您都不需要它。

  • 如果你想支持加密的客户端连接,你需要OpenSSL。OpenSSL还需要在没有/开发/铀矿(窗户除外)。所需的最低版本为1.0.1.

  • 如果希望使用这些服务支持身份验证,则需要Kerberos、OpenLDAP和/或PAM。

  • 如果你想用这种方法支持数据压缩,你需要LZ4;看见违约_干杯_压缩.

  • 要构建PostgreSQL文档,有一组单独的需求;看见第J.2节.

    如果您是从Git树而不是使用发布的源代码包进行构建,或者如果您想进行服务器开发,那么还需要以下包:

  • Flex和Bison需要从Git签出构建,或者如果您更改了实际的扫描仪和解析器定义文件。如果需要,请务必购买Flex 2.5.31或更高版本和Bison 1.875或更高版本。不能使用其他lex和yacc程序。

  • 从Git签出构建需要Perl 5.8.3或更高版本,或者如果您更改了使用Perl脚本的任何构建步骤的输入文件。如果在Windows上构建,无论如何都需要Perl。运行一些测试套件也需要Perl。

    如果你需要一个GNU软件包,你可以在你当地的GNU镜像站点找到它(参见https://www.gnu.org/prep/ftp (opens new window)或在ftp://ftp.gnu.org/gnu/.

    还要检查您是否有足够的磁盘空间。在编译期间,源代码树大约需要350 MB,安装目录大约需要60 MB。一个空的数据库集群大约需要40MB;数据库占用的空间大约是具有相同数据的平面文本文件的五倍。如果您要运行回归测试,您将暂时需要高达300 MB的额外内存。使用df命令检查可用磁盘空间。