pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
一切设置妥当后,切换到doc/src/sgml目录,并运行后续各小节中介绍的某个命令来构建文档。 (记得使用 GNU make。)
To build the HTML version of the documentation:
doc/src/sgml$gmake html
这也是默认目标。输出位于子目录 html 中。
要创建合适的索引,构建过程可能会经历多个相同的阶段。如果你不 关心索引,只想校对输出,可以使用 draft:
doc/src/sgml$gmake draft
要把文档构建为单个 HTML 页面,使用:
doc/src/sgml$gmake postgres.html
我们使用 DocBook XSL 样式表将 DocBook refentry 页面转换为适合手册页的 *roff 输出。 与 HTML 版本类似,手册页也以 tar 归档包形式 分发。要创建手册页,请使用以下命令:
cd doc/src/sgml gmake man
如果你想使用 JadeTex 生成文档的可打印 版本,可以使用下列命令之一:
To generate PostScript via DVI in A4 format:
doc/src/sgml$gmake postgres-A4.ps
In U.S. letter format:
doc/src/sgml$gmake postgres-US.ps
To make a PDF:
doc/src/sgml$gmake postgres-A4.pdf
or:
doc/src/sgml$gmake 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
有时文本会超出打印边距,在极端情况下甚至超出打印页面,例如未折行的 文本、过宽的表格。过宽的文本会在 TeX 日志输出文件(例如 postgres-US.log或postgres-A4.log) 中产生“Overfull hbox”消息。一英寸有 72 个点,因此任何报告为 超出 72 点以上宽度的内容都可能放不进打印页面(假定边距为一英寸)。要找到 导致溢出的SGML文本,可在溢出消息上方找到提到的第一个 页码,例如[50 ###](第 50 页),然后在PDF 文件中查看其后一页(例如第 51 页),看到溢出文本后相应调整 SGML即可。
你也可以把PostgreSQL文档转换为 RTF并用办公套件做一些小的格式修正,从而生成可打印版本。 视具体办公套件的能力而定,随后可以把文档转换为 PostScript 或 PDF。下面的过程以Applixware 为例说明。
当前版本的PostgreSQL文档似乎会触发 OpenJade 的某个错误,或者超出其大小限制。如果RTF版本的构建 过程长时间挂起且输出文件大小仍为 0,你可能是遇到了这个问题。 (不过请记住,正常构建也需要 5 到 10 分钟,所以不要太早中止。)
Applixware RTF 清理
OpenJade没有为正文文本指定默认样式。过去, 这个未确诊的问题导致目录生成过程极其漫长。不过,在 Applixware方面的大力帮助下,症状已得到诊断, 并且有了可用的变通方法。
输入以下命令生成RTF版本:
doc/src/sgml$make postgres.rtf
修复 RTF 文件,使其正确指定所有样式,特别是默认样式。如果文档包含 refentry小节,还必须替换把前一段落与当前段落绑定 的格式提示,改为把当前段落与后一段落绑定。doc/src/sgml 中提供了一个实用程序fixrtf来完成这些修复:
doc/src/sgml$./fixrtf --refentry postgres.rtf
该脚本会添加{\s0 Normal;}作为文档的第 0 号样式。 按照Applixware的说法,RTF 标准不允许添加 隐式的第 0 号样式,不过 Microsoft Word 恰好能处理这种情况。对于修复 refentry小节,脚本会把\keepn 标记替换为\keep。
在Applixware Words中打开一个新文档, 然后导入RTF文件。
使用Applixware生成新目录(ToC)。
从第一行第一个字符开始到最后一行最后一个字符为止,选中现有的 ToC 行。
使用 → → 构建新的 ToC。选择让 ToC 包含 前三级标题。这会用Applixware原生的 ToC 替换从 RTF 导入的现有行。
使用 → 调整 ToC 格式,依次选择三种 ToC 样式,并调整First 和Left的缩进。使用以下数值:
| 样式 | 首行缩进(英寸) | 左缩进(英寸) |
|---|---|---|
TOC-Heading 1 |
0.4 |
0.4 |
TOC-Heading 2 |
0.8 |
0.8 |
TOC-Heading 3 |
1.2 |
1.2 |
在整个文档中完成以下工作:
调整分页。
调整表格列宽。
用正确的值替换 ToC 中 Examples 和 Figures 部分右对齐的页码。这只需要 几分钟。
如果索引节为空,从文档中删除它。
重新生成并调整目录。
选中 ToC 域。
选择 → → 。
通过选择 → → 解除 ToC 的保护。
删除 ToC 中的第一行,那是 ToC 自身的条目。
将文档保存为Applixware Words原生格式,以便日后更容易地进行最后时刻的编辑。
把文档“打印”到 PostScript 格式的文件。
安装说明也以纯文本形式分发,以便在没有更好的阅读工具时使用。 INSTALL 文件对应 第 15 章,并针对不同语境作了少量调整。 要重新生成该文件,请切换到 doc/src/sgml 目录,然后输入 gmake INSTALL。
过去,发行说明和回归测试说明也曾以纯文本形式分发,但现已停止这种做法。
构建文档可能非常耗时。但有一种方法可以只检查文档文件的语法 是否正确,这只需要几秒钟:
doc/src/sgml$gmake check
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。