9.3 9.4 9.5 9.6 10 11 12 13 14 15 Current(16) 17
问题报告 纠错本页面
17.1. 要求
上一页 上一级 第 17 章 从源代码安装起始页 下一页

17.1. 要求 #

一般说来,一个现代的与 Unix 兼容的平台应该就能运行PostgreSQL。 到发布为止已经明确测试过的平台的列表在 第 17.6 节中进行了描述。

构建PostgreSQL需要以下软件包:

  • GNU make 版本 3.81 或更新版本是必需的;其他 make 程序或较旧的 GNU make 版本将无法工作。 (GNU make 有时会以 名称 gmake 安装。) 要测试 GNU make,请输入:

    make --version
    
  • 或者,PostgreSQL 可以使用 Meson 构建。这目前是 实验性的,并且仅在从 Git 检出构建时有效(而不是从分发的 tarball)。 如果您选择使用 Meson,那么您不需要 GNU make,但以下的其他 要求仍然适用。

    Meson的最低要求版本是0.54。

  • 您需要一个ISO/ANSI C 编译器(至少 兼容 C99)。推荐使用最新版本的GCC,但 已知PostgreSQL可以使用来自不同厂商的多种 编译器进行构建。

  • tar 是解压源代码分发包所需的工具, 另外还需要 gzipbzip2

  • 默认情况下使用GNUReadline库。 它允许psql(PostgreSQL命令行SQL解释器)记住 您输入的每个命令,并允许您使用箭头键来回忆和编辑之前的命令。 这非常有帮助,并且强烈推荐使用。如果您不想使用它,则必须为 configure指定--without-readline选项。 作为替代方案,您通常可以使用BSD许可的libedit库, 它最初是在NetBSD上开发的。 libedit库与GNU Readline兼容,并且在找不到 libreadline时,或者使用 --with-libedit-preferred作为 configure的选项时会被使用。 如果您使用基于软件包的Linux发行版,请注意,您需要同时安装 readlinereadline-devel软件包, 如果它们在您的发行版中是分开的。

  • 默认使用zlib压缩库。如果您不想使用它, 则必须为configure指定--without-zlib 选项。使用此选项会禁用pg_dumppg_restore中对压缩归档的支持。

  • 默认使用ICU库。如果您不想使用它,则必须为configure 指定--without-icu选项。使用此选项会禁用对ICU排序功能 的支持(请参见第 24.2 节)。

    ICU支持需要安装ICU4C软件包。当前所需的 ICU4C最低版本是4.2。

    默认情况下, pkg-config 将被用来找到所需的编译选项。这适用于 ICU4C 4.6及更高版本。 对于旧版本,或者如果pkg-config不可用, 可以将变量ICU_CFLAGSICU_LIBS指定给 configure,例如以下示例:

    ./configure ... ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata'
    

    (如果ICU4C位于编译器的默认搜索路径中, 那么您仍然需要指定非空字符串以避免使用 pkg-config,例如, ICU_CFLAGS=' '。)

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

  • 要构建服务器编程语言 PL/Perl,您需要一个完整的 Perl安装,包括 libperl库和头文件。 最低要求的版本是Perl 5.14。 由于PL/Perl将是一个共享库, libperl库在大多数平台上也必须是一个共享库。 这似乎是最近Perl版本中的默认设置, 但在早期版本中并非如此,无论如何,这取决于在您站点安装 Perl 的人所做的选择。如果选择构建 PL/Perl但无法找到共享的 libperl,configure将会失败。 在这种情况下,您将不得不手动重新构建和安装 Perl,以便能够构建 PL/Perl。在 Perl的配置过程中,请请求一个共享库。

    如果您打算更多地使用PL/Perl,您应该确保Perl安装是使用usemultiplicity选项构建的(perl -V将显示是否是这种情况)。

  • 要构建PL/Python服务器编程语言,您需要安装Python 并具有头文件以及sysconfig模块。所需的最低版本是Python 3.2。

    由于PL/Python将是一个共享库, libpython库在大多数平台上也必须是一个共享库。这在默认的 Python源码构建的安装中并非如此,但在许多操作系统 发行版中提供了一个共享库。configure如果选择构建 PL/Python但找不到共享的libpython,将会失败。 这可能意味着您需要安装额外的软件包或重新构建(部分)Python安装以提供这个共享库。 在从源代码构建时,使用Python的configure命令带上--enable-shared标志。

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

  • 要启用本地语言支持(NLS),也就是能够以非英语的语言显示 程序的消息,您需要一个Gettext API 的实现。一些操作系统内置了此功能(例如,LinuxNetBSDSolaris),对于其他系统,您可以从 https://www.gnu.org/software/gettext/下载一个附加包。 如果您使用的是GNU C 库中的Gettext 实现,那么您还需要GNU Gettext包来获取一些实用程序。 对于其他实现,您则不需要它。

  • 如果您想支持加密客户端连接,您需要OpenSSL。 在没有/dev/urandom(除了Windows)的平台上, 也需要OpenSSL来生成随机数。最低要求版本为1.0.1。

  • 您需要MIT Kerberos(用于GSSAPI), OpenLDAP,和/或PAM, 如果您想支持使用这些服务进行身份验证。

  • 如果您想要支持使用该方法对数据进行压缩,您需要LZ4;请参见 default_toast_compressionwal_compression

  • 如果您想要支持使用该方法对数据进行压缩,您需要Zstandard;请参见wal_compression。 最低要求版本为1.4.0。

  • 要构建PostgreSQL文档,需要满足一组单独的要求;请参见第 J.2 节

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

  • FlexBison 是从Git检出构建所需的,或者如果您更改了实际的扫描器和解析器定义文件。 如果您需要它们,请确保获取Flex 2.5.35或更高版本 和Bison 2.3或更高版本。其他lexyacc程序无法使用。

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

如果你需要获取GNU包,你可以在你的本地GNU镜像站点 (看看 https://www.gnu.org/prep/ftpftp://ftp.gnu.org/gnu/找到它们。


上一页 上一级 下一页
第 17 章 从源代码安装 起始页 17.2. 获取源码

AltStyle によって変換されたページ (->オリジナル) /