J.3. 문서 만들기

J.3.1. HTML
J.3.2. 맨페이지
J.3.3. PDF
J.3.4. 일반 텍스트 파일 만들기
J.3.5. 문법 검사

모든 사전 작업이 끝났다면, doc/src/sgml 디렉터리로 이동해서, 아래에서 설명하고 있는 명령 가운데 원하는 작업을 할 명령을 실행한다. (make는 GNU make를 사용해야한다.)

J.3.1. HTML

HTML 양식의 문서를 만드려면 다음과 같이 한다:

doc/src/sgml$ make html

이것이 make 작업의 기본이다. 최종 결과물은 html 하위 디렉터리안에 만들어진다.

기본 단순한 스타일 대신에 postgresql.org 사이트에서 사용하는 스타일을 사용하는 HTML 문서는 다음과 같이 만든다:

doc/src/sgml$ make STYLE=website html

STYLE=website 옵션을 사용하면, 만들어지는 HTML 파일에서 사용하는 스타일시트 파일을 postgresql.org 홈페이지에 있는 것을 사용한다. (물론 이 홈페이지에 접속 가능해야한다.)

J.3.2. 맨페이지

맨페이지는 DocBook XSL 스타일시트를 이용해서, DocBook refentry 페이지로 변환해서 만든다. 직접 맨페이지를 만드려면 다음 명령을 실행한다:

doc/src/sgml$ make man

J.3.3. PDF

PDF 문서는 FOP 패키지를 이용해서 만든다. 이 때, 다음과 같이 그 출력 크기에 따라 다음 명령을 사용한다:

  • A4 용지:

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

  • For U.S. letter format:

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

PostgreSQL 문서는 정말 방대해서, FOP 프로그램을 실행할 때 몇몇 OS 작업 환경에서 메모리가 부족하다는 메시지를 볼 수 있다. 이런 경우는 다음과 같이 자바 힙 메모리 설정을 ~/.foprc 파일에 해야한다:

# FOP binary distribution
FOP_OPTS='-Xmx1500m'
# Debian
JAVA_ARGS='-Xmx1500m'
# Red Hat
ADDITIONAL_FLAGS='-Xmx1500m'

There is a minimum amount of memory that is required, and to some extent more memory appears to make things a bit faster. On systems with very little memory (less than 1 GB), the build will either be very slow due to swapping or will not work at all.

Other XSL-FO processors can also be used manually, but the automated build process only supports FOP.

J.3.4. 일반 텍스트 파일 만들기

The installation instructions are also distributed as plain text, in case they are needed in a situation where better reading tools are not available. The INSTALL file corresponds to 16장, with some minor changes to account for the different context. To recreate the file, change to the directory doc/src/sgml and enter make INSTALL. Building text output requires Pandoc version 1.13 or newer as an additional build tool.

예전에는 릴리즈 노트와 단위 테스트 방법에 대한 문서들도 일반 텍스트 파일로 제공했으나, 이제부터는 더 이상 이들 문서들에 대해서는 일반 텍스트 파일로 제공하지 않는다.

J.3.5. 문법 검사

원하는 최종 결과물을 만드는데, 꽤 긴 시간이 걸린다. 작업한 파일의 문법이 틀려서 작업 도중 오류를 내면 다시 작업해야하기에 문서 생성 전에 먼저 작업한 파일의 문법이 맞는지 검사를 해 보는 것이 작업 시간을 최소화 할 수 있다. 문법 검사 방법은 다음과 같다:

doc/src/sgml$ make check