首页教程PostgreSQL

安装

安装前你需要如下条件

一般来说,现代 Unix 兼容平台应该能够运行 PostgreSQL

构建 PostgreSQL 需要以下软件包:

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

  • 此外,PostgreSQL 也可以使用 Meson 构建。目前这还是实验性功能。如果选择使用 Meson,则不需要 GNU make,但以下其他要求仍然适用。 Meson 的最低要求版本为 0.54。

  • 您需要一个 ISO/ANSI C 编译器(至少符合 C99 标准)。建议使用最新版本的 GCC,但已知 PostgreSQL 可以在不同厂商的多种编译器上构建。

  • 需要 tar 来解压源代码分发包,以及 gzipbzip2

  • Flex 版本 2.5.35 或更高版本和 Bison 版本 2.3 或更高版本是必需的。其他 lexyacc 程序不能使用。

  • 需要 Perl 5.14 或更高版本,在构建过程中以及运行某些测试套件时使用。(该要求与构建 PL/Perl 的要求是分开的;见下文。)

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

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

    ICU 支持需要安装 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 服务器编程语言,您需要带有头文件和 sysconfig 模块的 Python 安装。最低要求版本是 Python 3.2。 由于 PL/Python 将是一个共享库,因此在大多数平台上 libpython 库也必须是共享库。这在从源代码构建的默认 Python 安装中不是这样,但许多操作系统发行版中提供共享库。如果选择构建 PL/Python 时找不到共享 libpython,则 configure 将失败。这可能意味着您需要安装额外的软件包,或重新构建(部分)您的 Python 安装以提供此共享库。从源构建时,请使用 --enable-shared 标志运行 Python 的配置。
  • 要构建 PL/Tcl 过程语言,您当然需要 Tcl 安装。最低要求版本是 Tcl 8.4。
  • 要启用本地语言支持 (NLS),即能够以非英语语言显示程序消息,您需要 Gettext API 的实现。一些操作系统内置此功能(例如 LinuxNetBSDSolaris),对于其他系统,您可以从 example.com 下载附加软件包。如果您使用的是 GNU C 库中的 Gettext 实现,则还需要 GNU Gettext 包来支持一些实用程序。对于其他实现,您则不需要。
  • 如果您想支持加密客户端连接,您需要 OpenSSL。在没有 /dev/urandom 的平台(Windows 除外)上,OpenSSL 也用于随机数生成。最低要求版本是 1.0.2。
  • 如果您想支持使用 MIT Kerberos(用于 GSSAPI)、OpenLDAP 和/或 PAM 进行身份验证,您需要这些组件。
  • 如果您想支持 LZ4 数据压缩,则需要 LZ4;请参见 default_toast_compression 和 wal_compression。
  • 如果您想支持 Zstandard 数据压缩,则需要 Zstandard;请参见 wal_compression。最低要求版本是 1.4.0。
  • 要构建 PostgreSQL 文档,还有一组单独的要求;请参见 第 J.2 节。

如果您需要获取 GNU 包,可以在您当地的 GNU 镜像站点找到(请参见 example.com 获取列表)或在 ftp://ftp.gnu.org/gnu/ 下载。

获取源码

可以从我们网站的下载部分获取已发布版本的 PostgreSQL 源代码:example.com。 下载您感兴趣的 postgresql-version.tar.gz 或 postgresql-version.tar.bz2 文件,然后解压:

tar xf postgresql-version.tar.bz2

这将在当前目录下创建一个名为 postgresql-version 的目录,里面包含 PostgreSQL 源代码。接下来,您可以切换到该目录进行安装过程的其他步骤。

也可以使用git来获取源码

  1. 您需要安装 Git 的版本,可以从 example.com 获取。许多系统默认已安装较新版本的 Git,或者可以通过其软件包管理系统获取。

  2. 要开始使用 Git 仓库,请克隆官方镜像:

    git clone example.com

    这将把完整的仓库复制到您的本地机器,因此可能需要一些时间来完成,特别是在网络速度较慢的情况下。文件将放置在当前目录的新子目录 postgresql 中。

    该 Git 镜像也可以通过 Git 协议访问。只需将 URL 前缀更改为 git,如下所示:

    git clone git://git.postgresql.org/git/postgresql.git
  3. 每当您想获取系统中的最新更新时,进入仓库目录,并运行:

    git fetch

Git 可以执行比仅获取源代码更多的操作。如需更多信息,请查阅 Git 手册,或访问 example.com 网站。