选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.3 已于 2018 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

J.3. 构建文档 #

一切设置妥当后,切换到doc/src/sgml目录,并运行后续各小节中介绍的某个命令来构建文档。 (记得使用 GNU make。)

J.3.1. HTML

要构建文档的HTML版本:

doc/src/sgml$ make html

这也是默认目标。输出位于子目录html中。

要创建合适的索引,构建过程可能会经历多个相同的阶段。如果你不关心索引, 只想校对输出,可以使用draft

doc/src/sgml$ make draft

要把文档构建为单个 HTML 页面,使用:

doc/src/sgml$ make postgres.html

J.3.2. 手册页

我们使用 DocBook XSL 样式表将DocBook refentry页面转换为适合手册页的 *roff 输出。 与HTML版本类似,手册页也以 tar 归档包形式分发。 要创建手册页,请使用以下命令:

cd doc/src/sgml
make man

J.3.3. 通过JadeTeX生成打印输出

如果你想使用JadeTex生成文档的可打印版本, 可以使用下列命令之一:

  • 以 A4 格式通过DVI生成 PostScript:

    doc/src/sgml$ make postgres-A4.ps
    

    以美国信纸格式:

    doc/src/sgml$ make postgres-US.ps
    
  • 生成PDF

    doc/src/sgml$ make postgres-A4.pdf
    

    或:

    doc/src/sgml$ make postgres-US.pdf
    

    (当然也可以从 PostScript 生成PDF版本,但直接 生成PDF会带有超链接和其他增强特性。)

使用 JadeTeX 构建 PostgreSQL 文档时,你很可能需要增大 TeX 的一些内部 参数。这些参数可以在文件texmf.cnf中设置。撰写本文时, 以下设置可用:

hash_extra.jadetex  = 200000
hash_extra.pdfjadetex  = 200000
pool_size.jadetex = 2000000
pool_size.pdfjadetex = 2000000
string_vacancies.jadetex = 150000
string_vacancies.pdfjadetex = 150000
max_strings.jadetex = 300000
max_strings.pdfjadetex = 300000
save_size.jadetex = 15000
save_size.pdfjadetex = 15000
 

J.3.4. 超宽文本

有时文本会超出打印边距,在极端情况下甚至超出打印页面,例如未折行的 文本、过宽的表格。过宽的文本会在 TeX 日志输出文件(例如 postgres-US.logpostgres-A4.log) 中产生Overfull hbox消息。一英寸有 72 个点,因此任何报告为 超出 72 点以上宽度的内容都可能放不进打印页面(假定边距为一英寸)。要找到 导致溢出的SGML文本,可在溢出消息上方找到提到的第一个 页码,例如[50 ###](第 50 页),然后在PDF 文件中查看其后一页(例如第 51 页),看到溢出文本后相应调整 SGML即可。

J.3.5. 通过RTF生成打印输出

你也可以把PostgreSQL文档转换为 RTF并用办公套件做一些小的格式修正,从而生成可打印版本。 视具体办公套件的能力而定,随后可以把文档转换为 PostScript 或 PDF。下面的过程以Applixware 为例说明。

注意

当前版本的PostgreSQL文档似乎会触发 OpenJade 的某个错误,或者超出其大小限制。如果RTF版本的构建 过程长时间挂起且输出文件大小仍为 0,你可能是遇到了这个问题。 (不过请记住,正常构建也需要 5 到 10 分钟,所以不要太早中止。)

Applixware RTF 清理

OpenJade没有为正文文本指定默认样式。过去, 这个未确诊的问题导致目录生成过程极其漫长。不过,在 Applixware方面的大力帮助下,症状已得到诊断, 并且有了可用的变通方法。

  1. 输入以下命令生成RTF版本:

    doc/src/sgml$ make postgres.rtf
    
  2. 修复 RTF 文件,使其正确指定所有样式,特别是默认样式。如果文档包含 refentry小节,还必须替换把前一段落与当前段落绑定 的格式提示,改为把当前段落与后一段落绑定。doc/src/sgml 中提供了一个实用程序fixrtf来完成这些修复:

    doc/src/sgml$ ./fixrtf --refentry postgres.rtf
    

    该脚本会添加{\s0 Normal;}作为文档的第 0 号样式。 按照Applixware的说法,RTF 标准不允许添加 隐式的第 0 号样式,不过 Microsoft Word 恰好能处理这种情况。对于修复 refentry小节,脚本会把\keepn 标记替换为\keep

  3. Applixware Words中打开一个新文档, 然后导入RTF文件。

  4. 使用Applixware生成新目录(ToC)。

    1. 从第一行第一个字符开始到最后一行最后一个字符为止,选中现有的 ToC 行。

    2. 使用ToolsBook BuildingCreate Table of Contents构建新的 ToC。选择让 ToC 包含 前三级标题。这会用Applixware原生的 ToC 替换从 RTF 导入的现有行。

    3. 使用FormatStyle 调整 ToC 格式,依次选择三种 ToC 样式,并调整FirstLeft的缩进。使用以下数值:

      样式 首行缩进(英寸) 左缩进(英寸)
      TOC-Heading 1 0.4 0.4
      TOC-Heading 2 0.8 0.8
      TOC-Heading 3 1.2 1.2
  5. 在整个文档中完成以下工作:

    • 调整分页。

    • 调整表格列宽。

  6. 用正确的值替换 ToC 中 Examples 和 Figures 部分右对齐的页码。这只需要 几分钟。

  7. 如果索引节为空,从文档中删除它。

  8. 重新生成并调整目录。

    1. 选中 ToC 域。

    2. 选择ToolsBook BuildingCreate Table of Contents

    3. 通过选择ToolsField EditingUnprotect 解除 ToC 的保护。

    4. 删除 ToC 中的第一行,那是 ToC 自身的条目。

  9. 将文档保存为Applixware Words原生格式,以便日后更容易地进行最后时刻的编辑。

  10. 把文档打印到 PostScript 格式的文件。

J.3.6. 纯文本文件

安装说明也以纯文本形式分发,以便在没有更好的阅读工具时使用。 INSTALL文件对应第 15 章,并针对不同语境作了少量调整。 要重新生成该文件,请切换到doc/src/sgml目录,然后输入make INSTALL

过去,发行说明和回归测试说明也曾以纯文本形式分发,但现已停止这种做法。

J.3.7. 语法检查

构建文档可能非常耗时。但有一种方法可以只检查文档文件的语法是否正确, 这只需要几秒钟:

doc/src/sgml$ make check

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。