↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16
开发中的版本: 19 / 20devel
预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。

17.4. 使用 Meson 构建和安装 #

17.4.1. 简要说明 #

meson setup build --prefix=/usr/local/pgsql
cd build
ninja
su
ninja install
adduser postgres
mkdir -p /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test

详细说明见本节的其余部分。

17.4.2. 安装过程 #

  1. 配置

    安装过程的第一步,是针对你的系统配置构建树,并选择你需要的选项。要创建并配置构建目录,可以从 meson setup 命令开始:

    meson setup build
    

    setup 命令接受 builddir 和 srcdir 两个参数。如果未给出 srcdir,Meson 会根据当前目录以及 meson.build 的位置推导出 srcdir。builddir 是必需的。

    运行 meson setup 会加载构建配置文件并设置构建目录。此外,你也可以向 Meson 传递多个构建选项。后续章节会介绍一些常用选项。例如:

    # configure with a different installation prefix
    meson setup build --prefix=/home/user/pg-install
    
    # configure to generate a debug build
    meson setup build --buildtype=debug
    
    # configure to build with OpenSSL support
    meson setup build -Dssl=openssl
    

    设置构建目录是一次性步骤。如果要在新的构建前重新配置,只需使用 meson configure 命令:

    meson configure -Dcassert=true
    

    meson configure 的常用命令行选项见第 17.4.3 节。

  2. 构建

    默认情况下,Meson 使用 Ninja 作为构建工具。要使用 Meson 从源代码构建 PostgreSQL,只需在构建目录中运行 ninja 命令:

    ninja
    

    Ninja 会自动检测你的计算机 CPU 数量,并据此并行执行。你也可以用命令行参数 -j 覆盖并行进程数。

    需要注意的是,在最初的配置步骤之后,ninja 就是你编译时唯一需要输入的命令。不管你如何修改源码树(只要不是把它移动到全新的位置),Meson 都会检测变化并相应重新生成自己。如果你有多个构建目录,这一点尤其方便。通常其中一个用于开发(“调试”构建),而另一些只在偶尔需要时使用(比如“静态分析”构建)。任何配置都只需切换到对应目录,然后运行 Ninja 即可完成构建。

    如果你希望使用 ninja 之外的后端进行构建,可以在配置时使用 --backend 选项进行选择,然后通过 meson compile 来构建。要进一步了解这些后端,以及你可以传给 ninja 的其他参数,可参考 Meson 文档。

  3. 回归测试

    如果你希望在安装之前测试新构建的服务器,可以在此时运行回归测试。回归测试是一套测试,用来验证 PostgreSQL 是否按开发者预期的方式在你的机器上运行。输入:

    meson test
    

    (这不能以 root 身份运行;请使用非特权用户。)关于如何解释测试结果的详细信息,见第 31 章。在以后的任何时候,你都可以再次执行同样的命令来重复此测试。

    如果要针对正在运行的 postgres 实例运行 pg_regress 和 pg_isolation_regress 测试,请向 meson test 传入参数 --setup running。

  4. 安装文件

    注意

    如果你是在升级已有系统,请务必阅读第 18.6 节,其中包含关于升级集簇的说明。

    PostgreSQL 构建完成后,只需运行 ninja install 命令即可安装:

    ninja install
    

    这会把文件安装到步骤 1 中指定的目录。请确保你有权限写入该区域。你可能需要以 root 身份执行这一步。另一种做法是预先创建目标目录,并安排授予适当权限。标准安装会提供客户端应用开发以及服务器端程序开发(例如用 C 编写自定义函数或数据类型)所需的全部头文件。

    在大多数情况下,ninja install 都能正常工作;但如果你希望使用更多选项(例如 --quiet 以抑制额外输出),也可以改用 meson install。关于 meson install 及其选项的更多信息,请参见 Meson 文档。

卸载:.  要撤销安装,可以使用 ninja uninstall 命令。

清理:.  安装完成后,可以通过 ninja clean 命令从源码树中删除已构建文件,以释放磁盘空间。

17.4.3. meson setup 选项 #

下面解释 meson setup 的命令行选项。这个列表并不完整(可使用 meson configure --help 获取完整列表)。此处未涉及的选项主要用于高级用例,并记录在标准 Meson 文档中。这些参数也可用于 meson setup。

17.4.3.1. 安装位置 #

这些选项控制 ninja install(或 meson install)将文件安装到哪里。--prefix 选项(示例见第 17.4.1 节)对大多数情况来说已经足够。如果你有特殊需求,可以使用本节中描述的其他选项定制安装子目录。但请注意,更改不同子目录之间的相对位置可能会使安装变得不可重定位,也就是安装后无法再移动。(man 和 doc 的位置不受这一限制影响。)对于可重定位安装,你可能希望使用稍后介绍的 -Drpath=false 选项。

--prefix=PREFIX #

把所有文件安装到目录 PREFIX 下,而不是安装到 /usr/local/pgsql(类 Unix 系统)或当前驱动器盘符:/usr/local/pgsql(Windows)下。实际文件会安装到各个子目录中;不会有任何文件直接安装到 PREFIX 目录中。

--bindir=DIRECTORY #

指定可执行程序的目录。默认是 PREFIX/bin。

--sysconfdir=DIRECTORY #

设置各种配置文件的目录,默认是 PREFIX/etc。

--libdir=DIRECTORY #

设置安装库和动态可加载模块的位置。默认是 PREFIX/lib。

--includedir=DIRECTORY #

设置安装 C 和 C++ 头文件的目录。默认是 PREFIX/include。

--datadir=DIRECTORY #

设置已安装程序使用的只读数据文件目录。默认是 PREFIX/share。注意,这与数据库文件实际存放的位置无关。

--localedir=DIRECTORY #

设置安装区域设置数据的目录,尤其是消息翻译目录文件。默认是 DATADIR/locale。

--mandir=DIRECTORY #

PostgreSQL 附带的手册页将安装到这个目录下各自对应的 manx 子目录中。默认是 DATADIR/man。

注意

为了能把 PostgreSQL 安装到共享安装位置(例如 /usr/local/include),同时又不干扰系统其他部分的名字空间,我们做了特别处理。首先,除非完整展开后的目录名已经包含字符串“postgres”或“pgsql”,否则会自动把字符串“/postgresql”追加到 datadir、sysconfdir 和 docdir 上。例如,如果你选择 /usr/local 作为前缀,那么文档会安装到 /usr/local/doc/postgresql;但如果前缀是 /opt/postgres,那么它会安装到 /opt/postgres/doc。客户端接口的公共 C 头文件会安装到 includedir 中,并且不会污染名字空间。内部头文件和服务器头文件则会安装到 includedir 下的私有目录中。关于如何访问这些头文件,请参见各接口自己的文档。最后,如果有需要,也会在 libdir 下创建私有子目录,用于存放动态可加载模块。

17.4.3.2. PostgreSQL 特性 #

本节描述的选项用于启用各种可选的 PostgreSQL 特性。其中大多数需要额外的软件,如第 17.1 节所述;如果找到了所需软件,这些特性会自动启用。你可以通过手工把这些特性设为 enabled(要求必须构建)或 disabled(不构建),来改变这种行为。

要指定 PostgreSQL 特有的选项,选项名必须以 -D 为前缀。

-Dnls={ auto | enabled | disabled } #

启用或禁用本地语言支持(NLS),也就是以非英语语言显示程序消息的能力。默认值是 auto;如果找到了 Gettext API 的实现,就会自动启用。

-Dplperl={ auto | enabled | disabled } #

构建 PL/Perl 服务器端语言。默认值是 auto。

-Dplpython={ auto | enabled | disabled } #

构建 PL/Python 服务器端语言。默认值是 auto。

-Dpltcl={ auto | enabled | disabled } #

构建 PL/Tcl 服务器端语言。默认值是 auto。

-Dtcl_version=TCL_VERSION #

指定构建 PL/Tcl 时要使用的 Tcl 版本。

-Dicu={ auto | enabled | disabled } #

构建时支持 ICU 库,从而启用 ICU 排序规则特性(见第 23.2 节)。默认值是 auto,并且要求安装 ICU4C 软件包。当前 ICU4C 的最低要求版本是 4.2。

-Dllvm={ auto | enabled | disabled } #

构建时支持基于 LLVM 的 JIT 编译(见第 30 章)。这要求已安装 LLVM 库。当前 LLVM 的最低要求版本是 14。默认禁用。

llvm-config 将用于查找所需的编译选项。系统会先在你的 PATH 中搜索 llvm-config,然后再搜索各个受支持版本对应的 llvm-config-$version。如果这样找不到你想要的程序,请使用 LLVM_CONFIG 指定正确的 llvm-config 路径。

-Dlz4={ auto | enabled | disabled } #

构建时支持 LZ4 压缩。默认值是 auto。

-Dzstd={ auto | enabled | disabled } #

构建时支持 Zstandard 压缩。默认值是 auto。

-Dssl={ auto | LIBRARY } #

构建时支持 SSL(加密)连接。唯一受支持的 LIBRARY 是 openssl。这要求安装 OpenSSL 软件包。使用该选项构建时,会检查所需的头文件和库,以确认你的 OpenSSL 安装满足要求后才继续。该选项的默认值是 auto。

-Dgssapi={ auto | enabled | disabled } #

构建时支持 GSSAPI 认证。要使用 GSSAPI,必须安装 MIT Kerberos。在很多系统上,GSSAPI 系统(MIT Kerberos 安装的一部分)并不位于默认搜索的路径中(例如 /usr/include、/usr/lib)。在这种情况下,PostgreSQL 会查询 pkg-config 来检测所需的编译器和链接器选项。默认值是 auto。meson configure 会检查所需的头文件和库,以确认你的 GSSAPI 安装满足要求后才继续。

-Dldap={ auto | enabled | disabled } #

构建时支持 LDAP 认证和连接参数查找(更多信息见第 32.18 节和第 20.10 节)。在 Unix 上,这要求安装 OpenLDAP 软件包。在 Windows 上,使用默认的 WinLDAP 库。默认值是 auto。meson configure 会检查所需的头文件和库,以确认你的 OpenLDAP 安装满足要求后才继续。

-Dpam={ auto | enabled | disabled } #

构建时支持 PAM(可插拔认证模块)。默认值是 auto。

-Dbsd_auth={ auto | enabled | disabled } #

构建时支持 BSD 认证。(BSD 认证框架目前仅在 OpenBSD 上可用。)默认值是 auto。

-Dsystemd={ auto | enabled | disabled } #

构建时支持 systemd 服务通知。如果服务器是在 systemd 下启动,这会改进集成;否则没有影响。更多信息见第 18.3 节。默认值是 auto。要使用此选项,需要安装 libsystemd 及其相关头文件。

-Dbonjour={ auto | enabled | disabled } #

构建时支持 Bonjour 自动服务发现。默认值是 auto,并要求你的操作系统支持 Bonjour。在 macOS 上推荐启用。

-Duuid=LIBRARY #

构建 uuid-ossp 模块(它提供生成 UUID 的函数),并使用指定的 UUID 库。LIBRARY 必须是以下之一:

  • none,不构建 uuid 模块。这是默认值。

  • bsd,使用 FreeBSD 以及其他某些 BSD 衍生系统中的 UUID 函数

  • e2fs,使用 e2fsprogs 项目创建的 UUID 库;该库存在于大多数 Linux 系统和 macOS 中,也可用于其他平台

  • ossp,使用 OSSP UUID 库

-Dlibcurl={ auto | enabled | disabled } #

构建时支持 libcurl,用于 OAuth 2.0 客户端流程。此特性要求 libcurl 7.61.0 或更高版本。使用该选项构建时,会检查所需的头文件和库,以确认你的 Curl 安装满足要求后才继续。该选项的默认值是 auto。

-Dliburing={ auto | enabled | disabled } #

构建时支持 liburing,以启用异步 I/O 的 io_uring 支持。默认值是 auto。

如果 liburing 安装在不常见的位置,你可以设置与 pkg-config 相关的环境变量(见其文档)。

-Dlibnuma={ auto | enabled | disabled } #

构建时支持 libnuma,用于基础 NUMA 支持。仅在实现了 libnuma 库的平台上受支持。该选项的默认值是 auto。

-Dlibxml={ auto | enabled | disabled } #

构建时支持 libxml2,以启用 SQL/XML 支持。默认值是 auto。该特性要求 libxml2 2.6.23 或更高版本。

如果 libxml2 安装在不常见的位置,你可以设置与 pkg-config 相关的环境变量(见其文档)。

-Dlibxslt={ auto | enabled | disabled } #

构建时支持 libxslt,以启用 xml2 模块对 XML 执行 XSL 转换。同时还必须指定 -Dlibxml。默认值是 auto。

-Dselinux={ auto | enabled | disabled } #

构建时支持 SElinux,以启用 sepgsql 扩展。默认值是 auto。

17.4.3.3. 禁用特性 #

-Dreadline={ auto | enabled | disabled } #

允许使用 Readline 库(以及 libedit)。该选项默认值为 auto,会为 psql 启用命令行编辑和历史记录,强烈推荐保留。

-Dlibedit_preferred={ true | false } #

将此值设为 true 时,会优先使用 BSD 许可的 libedit 库,而不是 GPL 许可的 Readline。只有在两个库都已安装时,该选项才有意义;默认值是 false,也就是使用 Readline。

-Dzlib={ auto | enabled | disabled } #

启用 Zlib 库的使用。该选项默认值为 auto,会为 pg_dump、pg_restore 和 pg_basebackup 启用压缩归档支持,推荐保留。

17.4.3.4. 构建过程细节 #

--auto-features={ auto | enabled | disabled } #

设置这个选项,可以覆盖所有“auto”特性的取值(也就是那些在找到所需软件时会自动启用的特性)。当你想一次性禁用或启用所有“可选”特性,而不必逐个手工设置时,这会很有用。该参数的默认值是 auto。

--backend=BACKEND #

Meson 默认使用的后端是 ninja,这对大多数用例已经足够。不过,如果你希望与 Visual Studio 完全集成,可以把 BACKEND 设为 vs。

-Dc_args=OPTIONS #

这个选项可用于向 C 编译器传递额外选项。

这个选项可用于向 C 链接器传递额外选项。

-Ddefault_library={ both | shared } #

该选项用于选择是构建共享库和静态库(默认值),还是只构建共享库。(当前不支持只构建静态库的第三种变体。)

-Dextra_include_dirs=DIRECTORIES #

DIRECTORIES 是一个以逗号分隔的目录列表,这些目录会被加入编译器搜索头文件的路径中。如果你把可选软件包(如 GNU Readline)安装在非标准位置,就必须使用此选项,并且通常还要使用对应的 -Dextra_lib_dirs 选项。

例如:-Dextra_include_dirs=/opt/gnu/include,/usr/sup/include。

-Dextra_lib_dirs=DIRECTORIES #

DIRECTORIES 是一个以逗号分隔的目录列表,用于搜索库文件。如果你把软件包安装在非标准位置,很可能需要使用这个选项(以及对应的 -Dextra_include_dirs)。

例如:-Dextra_lib_dirs=/opt/gnu/lib,/usr/sup/lib。

-Dsystem_tzdata=DIRECTORY #

PostgreSQL 自带了日期和时间操作所需的时区数据库。这个时区数据库实际上与很多操作系统(如 FreeBSD、Linux 和 Solaris)提供的 IANA 时区数据库兼容,因此再次安装它是多余的。使用此选项时,将使用位于 DIRECTORY 的、由系统提供的时区数据库,而不是 PostgreSQL 源码发布中自带的那一份。DIRECTORY 必须是绝对路径。在某些操作系统上,/usr/share/zoneinfo 是一个可能的目录。请注意,安装过程不会检测时区数据是否不匹配或有误。如果你使用该选项,建议运行回归测试,以验证你指定的时区数据能够与 PostgreSQL 正常配合工作。

这个选项主要面向那些非常了解其目标操作系统的二进制包发布者。使用该选项的主要优点是,当本地众多夏令时规则中的任何一条发生变化时,PostgreSQL 软件包都无需升级。另一个优点是,如果安装时不需要构建时区数据库文件,那么 PostgreSQL 的交叉编译也会更直接。

-Dextra_version=STRING #

将 STRING 追加到 PostgreSQL 版本号后面。例如,你可以用它给从未发布的 Git 快照构建出来的二进制文件、或包含自定义补丁的二进制文件,添加额外版本字符串作为标记,例如 git describe 标识符或发行包版本号。

-Drpath={ true | false } #

该选项默认值是 true。如果设为 false,则不在 PostgreSQL 的可执行文件中添加指示其到安装的库目录中搜索共享库的标记(见 --libdir)。在大多数平台上,这种标记使用库目录的绝对路径,因此如果你之后移动安装位置,它就没有帮助了。不过这样一来,你就需要通过其他方式让可执行文件找到共享库。通常这要求配置操作系统的动态链接器搜索该库目录;更多细节见第 17.5.1 节。

-DBINARY_NAME=PATH #

如果构建 PostgreSQL(无论是否启用可选标志)所需的某个程序位于非标准路径,你可以手工把它指定给 meson configure。支持这样指定的程序完整列表,可通过运行 meson configure 查看。例如:

meson configure -DBISON=PATH_TO_BISON

17.4.3.5. 文档 #

关于构建文档所需的工具,见第 J.2 节。

-Ddocs={ auto | enabled | disabled } #

启用构建 HTML 和 man 格式的文档。默认值是 auto。

-Ddocs_pdf={ auto | enabled | disabled } #

启用构建 PDF 格式的文档。默认值是 auto。

-Ddocs_html_style={ simple | website } #

控制使用哪种 CSS 样式表。默认值是 simple。如果设为 website,HTML 文档将引用 postgresql.org 的样式表。

17.4.3.6. 杂项 #

-Dpgport=NUMBER #

将 NUMBER 设为服务器和客户端的默认端口号。默认值是 5432。端口号以后始终都可以修改,但如果在这里指定,那么服务器和客户端都会编译进同一个默认值,这可能很方便。通常选择非默认值的唯一合理原因,是你打算在同一台机器上运行多个 PostgreSQL 服务器。

-Dkrb_srvnam=NAME #

GSSAPI 所使用的 Kerberos 服务主体的默认名称。默认是 postgres。通常没有理由修改它,除非你是在为 Windows 环境构建,在那种情况下它必须被设为大写的 POSTGRES。

-Dsegsize=SEGSIZE #

设置段大小,单位为 GB。大表会被分成多个操作系统文件,每个文件的大小等于段大小。这可以避免很多平台上的文件大小限制问题。默认段大小 1GB 在所有支持的平台上都是安全的。如果你的操作系统支持“大文件”(如今大多数都支持),你可以使用更大的段大小。这有助于减少处理超大表时消耗的文件描述符数量。但请注意不要选择超出你的平台和打算使用的文件系统所支持的值。你可能想用到的其他工具,例如 tar,也可能对可用文件大小施加限制。推荐(但不是绝对要求)把这个值设为 2 的幂。

-Dblocksize=BLOCKSIZE #

设置块大小,单位为 KB。这是表内部存储和 I/O 的单位。默认值 8KB 适合大多数场景,但在特殊情况下,其他取值也可能有用。该值必须是 1 到 32(KB)之间的 2 的幂。

-Dwal_blocksize=BLOCKSIZE #

设置 WAL 块大小,单位为 KB。这是 WAL 日志内部存储和 I/O 的单位。默认值 8KB 适合大多数场景,但在特殊情况下,其他取值也可能有用。该值必须是 1 到 64(KB)之间的 2 的幂。

17.4.3.7. 开发人员选项 #

本节中的大多数选项只对开发或调试 PostgreSQL 有意义。除 --debug 外,不建议在生产构建中使用它们;不过,如果你不幸遇到 bug,该选项有助于获得更详细的 bug 报告。在支持 DTrace 的平台上,-Ddtrace 也可能适合在生产环境中使用。

如果构建的安装将用于开发服务器内部代码,建议至少使用 --buildtype=debug 和 -Dcassert。

--buildtype=BUILDTYPE #

这个选项可用于指定要使用的构建类型;默认值是 debugoptimized。如果你希望对调试符号和优化级别进行比该选项更细粒度的控制,可以参考 --debug 和 --optimization 标志。

常用的构建类型包括:plain、debug、debugoptimized 和 release。关于它们的更多信息,可参见 Meson 文档。

--debug #

将所有程序和库编译为带调试符号的版本。这意味着你可以在调试器中运行程序,以分析问题。这会显著增大安装后的可执行文件大小,而且在非 GCC 编译器上,通常还会禁用编译器优化,从而导致变慢。不过,保留这些符号对于处理可能出现的各种问题极其有帮助。目前,只有在你使用 GCC 的情况下,才建议在生产安装中使用该选项。但如果你在做开发工作或运行测试版,就应始终启用它。

--optimization=LEVEL #

指定优化级别。LEVEL 可以设为 {0,g,1,2,3,s} 中任意一个。

--werror #

设置该选项后,编译器会把警告当作错误处理。这对代码开发很有用。

-Dcassert={ true | false } #

在服务器中启用断言检查,用于测试许多“不可能发生”的条件。这对代码开发非常有价值,但这些测试会显著拖慢服务器速度。此外,启用这些测试并不一定会增强服务器稳定性!断言检查并未按严重程度分类,因此即使某个 bug 相对无害,只要触发了断言失败,仍会导致服务器重启。该选项不建议用于生产环境,但如果你在做开发工作或运行测试版,就应当启用它。

-Dtap_tests={ auto | enabled | disabled } #

启用使用 Perl TAP 工具的测试。默认值是 auto,并要求安装 Perl 以及 Perl 模块 IPC::Run。更多信息见第 31.4 节。

-DPG_TEST_EXTRA=TEST_SUITES #

启用额外测试套件;这些测试默认不会运行,因为它们在多用户系统上运行不安全、需要特殊软件,或者资源消耗较大。该参数是以空白分隔的测试名称列表。详见第 31.1.4 节。如果在运行测试时设置了 PG_TEST_EXTRA 环境变量,那么它会覆盖这个配置阶段的选项。

-Db_coverage={ true | false } #

如果使用 GCC,所有程序和库都会带代码覆盖率测试插桩进行编译。运行时,它们会在构建目录中生成包含代码覆盖率指标的文件。更多信息见第 31.5 节。该选项只适用于 GCC,并且仅在开发工作中使用。

-Ddtrace={ auto | enabled | disabled } #

启用该选项会将 PostgreSQL 编译为支持动态跟踪工具 DTrace。更多信息见第 27.5 节。

如果要指向 dtrace 程序,可以设置 DTRACE 选项。这通常是必要的,因为 dtrace 往往安装在 /usr/sbin 下,而该目录可能不在你的 PATH 中。

-Dinjection_points={ true | false } #

将 PostgreSQL 编译为支持服务器中的注入点。注入点允许在预定义的代码路径中,从服务器内部运行用户定义的代码。这有助于以受控方式测试并研究并发场景。该选项默认关闭。更多细节见第 36.10.14 节。该选项仅供开发人员测试使用。

-Dsegsize_blocks=SEGSIZE_BLOCKS #

以块数指定关系段大小。如果同时指定了 -Dsegsize 和这个选项,则以后者为准。该选项仅供开发人员测试与段相关的代码。

17.4.4. meson 构建目标 #

可以使用 ninja target 构建单个目标。如果不指定目标,则会构建除文档之外的所有内容。也可以把路径/文件名作为 target,从而构建单独的构建产物。

17.4.4.1. 代码构建目标 #

all #

构建文档以外的所有内容

backend #

构建后端及相关模块

bin #

构建前端二进制程序

contrib #

构建 contrib 模块

pl #

构建过程语言

17.4.4.2. 开发目标 #

reformat-dat-files #

将系统目录数据文件改写为标准格式

expand-dat-files #

展开所有数据文件以包含默认值

update-unicode #

将 Unicode 数据更新到新版本

headerscheck #

检查所有头文件能否独立编译

cpluspluscheck #

检查所有头文件能否作为 C++ 编译

17.4.4.3. 文档构建目标 #

html #

构建多页 HTML 格式的文档

man #

构建手册页格式的文档

docs #

构建多页 HTML 和手册页格式的文档

doc/src/sgml/postgres-A4.pdf #

构建 A4 页面大小的 PDF 格式文档

doc/src/sgml/postgres-US.pdf #

构建 US letter 页面大小的 PDF 格式文档

doc/src/sgml/postgres.html #

构建单页 HTML 格式的文档

alldocs #

构建所有支持格式的文档

17.4.4.4. 安装目标 #

install #

安装 postgres,不包括文档

install-docs #

安装多页 HTML 和手册页格式的文档

install-html #

安装多页 HTML 格式的文档

install-man #

安装手册页格式的文档

install-quiet #

与“install”相同,但不显示安装的文件

install-world #

安装 postgres,包括多页 HTML 和手册页格式的文档

uninstall #

删除已安装的文件

17.4.4.5. 其他目标 #

clean #

删除所有构建产物

test #

运行所有已启用的测试(包括 contrib)

world #

构建所有内容,包括文档

help #

列出重要的目标

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.