Após configurar tudo, deve-se mudar para o diretório
doc/src/sgml e executar um dos comandos
descritos nas subseções a seguir para construir a documentação.
(Lembre-se de usar o make do GNU.)
Para construir a versão da documentação em HTML, deve-se executar:
doc/src/sgml$make html
Este também é o destino (target) padrão.
A saída é gerada no subdiretório html.
Para construir a documentação em HTML com a folha de estilo usada em postgresql.org, em vez da folha de estilo simples padrão, deve-se executar:
doc/src/sgml$make STYLE=website html
Se for usada a opção STYLE=website, os arquivos
HTML gerados irão incluir referências a folhas
de estilo hospedadas em
postgresql.org , requerendo acesso à rede para visualizar.
São usadas as folhas de estilo DocBook XSL para converter as
refentry das páginas do
DocBook em saída
*roff adequada para as
man pages (páginas de manual).
Para construir as man pages,
deve-se executar:
doc/src/sgml$make man
Para construir a versão em PDF da documentação usando o FOP, deve-se executar um dos seguintes comandos, dependendo do formato do papel escolhido:
Para o formato A4:
doc/src/sgml$make postgres-A4.pdf
Para o formato carta dos EUA:
doc/src/sgml$make postgres-US.pdf
Como a documentação do PostgreSQL é bem
grande, o FOP exige uma quantidade
significativa de memória.
Por isto, em alguns sistemas, a construção falha com uma mensagem
de erro relacionada à memória.
Geralmente esta falha pode ser corrigida definindo as
configurações de heap do Java no
arquivo de configuração ~/.foprc. Por exemplo:
# FOP binary distribution FOP_OPTS='-Xmx1500m' # Debian JAVA_ARGS='-Xmx1500m' # Red Hat ADDITIONAL_FLAGS='-Xmx1500m'
Há uma quantidade mínima de memória necessária e, até certo ponto, mais memória parece tornar o processo um pouco mais rápido. Em sistemas com muito pouca memória (menos de 1 GB), a construção será muito lenta devido à paginação (swap), ou não irá funcionar.
Na sua configuração padrão, o FOP irá
emitir uma mensagem INFO para cada página.
O nível de registro pode ser alterado via
~/.foprc:
LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
Outros processadores para XSL-FO (Extensible Stylesheet Language Formatting Objects) também podem ser usados manualmente, mas o processo de construção automatizado tem suporte apenas o FOP.
A construção da documentação pode levar bastante tempo. Mas existe um método para verificar apenas se a sintaxe dos arquivos da documentação está correta, que leva apenas alguns segundos:
doc/src/sgml$make check