PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

J.2. 工具集 #

J.2.1. 在 Fedora、RHEL 及其衍生发行版上安装
J.2.2. 在 FreeBSD 上安装
J.2.3. Debian 软件包
J.2.4. macOS
J.2.5. 由 configure 检测

处理文档时会用到以下工具。其中一些可能是可选的,如文中所述。

DocBook DTD #

这是 DocBook 本身的定义。我们目前使用 4.5 版;您不能使用更新或 更早的版本。您需要 DocBook DTD 的 XML 变体, 而不是 SGML 变体。

DocBook XSL 样式表 #

其中包含把 DocBook 源文件转换为其他格式(例如 HTML)的处理指令。

目前要求的最低版本是 1.77.0,但为了获得最佳效果,建议使用最新 可用版本。

用于 xmllint 的 Libxml2 #

这个库及其包含的 xmllint 工具用于处理 XML。 许多开发者可能已经安装了 Libxml2,因为 构建 PostgreSQL 代码时也会用到它。不过要注意, xmllint 可能需要从单独的子软件包安装。

用于 xsltproc 的 Libxslt #

xsltproc 是一个 XSLT 处理器,即使用 XSLT 样式表把 XML 转换为其他格式的程序。

FOP #

这是一个可以把 XML 转换为 PDF 等格式的程序。 只有当您想构建 PDF 格式的文档时才需要它。

对于处理文档所需的各类工具,我们已经记录了几种安装方法的实践经验。 下文将对此进行介绍。这些工具可能还有其他打包发行版。请把软件包的 状态报告给文档邮件列表,我们会把这些信息收录在这里。

J.2.1. 在 Fedora、RHEL 及其衍生发行版上安装 #

使用以下命令安装所需的软件包:

yum install docbook-dtds docbook-style-xsl libxslt fop

J.2.2. 在 FreeBSD 上安装 #

使用 pkg 安装所需的软件包:

pkg install docbook-xml docbook-xsl libxslt fop

在 doc 目录中构建文档时,需要使用 gmake,因为所提供的 makefile 不适用于 FreeBSD 的 make。

J.2.3. Debian 软件包 #

Debian GNU/Linux 提供了一整套文档工具 软件包。安装时只需使用:

apt-get install docbook-xml docbook-xsl libxml2-utils xsltproc fop

J.2.4. macOS #

如果您使用 MacPorts,以下命令即可完成设置:

sudo port install docbook-xml docbook-xsl-nons libxslt fop

如果您使用 Homebrew,则使用:

brew install docbook docbook-xsl libxslt fop

Homebrew 提供的程序需要设置以下环境变量。对基于 Intel 的机器, 使用:

export XML_CATALOG_FILES=/usr/local/etc/xml/catalog

对基于 Apple Silicon 的机器,使用:

export XML_CATALOG_FILES=/opt/homebrew/etc/xml/catalog

没有它,xsltproc 会抛出类似这样的错误:

I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
postgres.sgml:21: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
...

虽然可以使用 Apple 提供的 xmllint 和 xsltproc 版本来替代 MacPorts 或 Homebrew 的版本, 但您仍然需要安装 DocBook DTD 和样式表,并设置一个指向它们的 catalog 文件。

J.2.5. 由 configure 检测 #

在构建文档之前,您需要运行 configure 脚本,就像 构建 PostgreSQL 程序本身时那样。 查看运行即将结束时的输出;它应该类似这样:

checking for xmllint... xmllint
checking for xsltproc... xsltproc
checking for fop... fop
checking for dbtoepub... dbtoepub

如果没有找到 xmllint 或 xsltproc,您将无法构建任何文档。 fop 只在构建 PDF 格式文档时需要。 dbtoepub 只在构建 EPUB 格式文档时需要。

如有必要,您可以告诉 configure 在哪里找到这些 程序,例如

./configure ... XMLLINT=/opt/local/bin/xmllint ...

如果您更愿意使用 Meson 构建 PostgreSQL, 请改为按 Section 17.4 中所述运行 meson setup,然后参见 Section J.4。