Postgresql 中文操作指南

J.2. Tool Sets #

以下工具用于处理文档。一些工具可能是可选的,如注释所示。

  • DocBook DTD #

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

  • DocBook XSL Stylesheets #

    • 这些包含用于将 DocBook 源转换为其他格式(例如 HTML)的处理指令。

    • 当前最低要求版本为 1.77.0,但建议使用最新可用版本以获得最佳效果。

  • Libxml2 for xmllint #

    • 此库和其中包含的 xmllint 工具用于处理 XML。许多开发人员已经安装了 Libxml2,因为它在构建 PostgreSQL 代码时也可以使用。但请注意,xmllint 可能需要从单独的子包安装。

  • Libxslt for xsltproc #

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

  • FOP #

    • 这也是一个用于将 XML 转换为 PDF 等的程序。仅当你想要以 PDF 格式构建文档时需要此程序。

我们已记录了使用各种工具处理文档所需的几种安装方法的体验。这些将在下面予以说明。可能还有这些工具的一些其他打包发行版。请将软件包状态报告给文档邮件列表,我们将在此处包括该信息。

J.2.1. Installation on Fedora, RHEL, and Derivatives #

要安装所需的软件包,请使用:

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

J.2.2. Installation on FreeBSD #

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

pkg install docbook-xml docbook-xsl libxslt fop

当根据 doc 目录构建文档时,你将需要使用 gmake,因为提供的 Makefile 不适用于 FreeBSD 的 make

J.2.3. Debian Packages #

对于 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 提供的 xmllintxsltproc 版本,而不是 MacPorts 或 Homebrew 中的版本,但仍然需要安装 DocBook DTD 和样式表,并设置一个指向它们的目录文件。

J.2.5. Detection by configure #

在构建文档之前,您需要运行 configure 脚本,就像在构建 PostgreSQL 程序本身时一样。检查运行结束时的输出;它应该类似于以下内容:

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

如果找不到 xmllintxsltproc,您将无法构建任何文档。fop 仅用于构建 PDF 格式的文档。dbtoepub 仅用于构建 EPUB 格式的文档。

如果需要,您可以告诉 configure 在哪里找到这些程序,例如:

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

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