O utilitário pg_config mostra os parâmetros de configuração da versão do PostgreSQL atualmente instalada. Sua finalidade é, por exemplo, ser usado por pacotes de software que querem interfacear com o PostgreSQL, para ajudar a encontrar os arquivos de cabeçalho e bibliotecas necessários.
Para usar o pg_config devem ser fornecidas uma ou mais das seguintes opções:
Mostra o local onde residem os executáveis do usuário. É usado, por exemplo, para encontrar o aplicativo psql. Normalmente, este também é o local onde o pg_config reside.
Mostra o local onde residem os arquivos de documentação (Será uma cadeia de caracteres vazia se foi especificado --without-docdir na construção do PostgreSQL).
Mostra o local onde residem os arquivos de cabeçalho da linguagem C das interfaces cliente.
Mostra o local onde residem os outros arquivos de cabeçalho da linguagem C.
Mostra o local onde residem os arquivos de cabeçalho da linguagem C para programação do servidor.
Mostra o local onde residem as bibliotecas de código objeto.
Mostra o local onde residem os módulos carregáveis dinamicamente, ou onde o servidor deve procurá-los (Também podem estar instalados neste diretório outros arquivos de dados dependentes da arquitetura).
Mostra o local onde residem os arquivos de suporte a idioma (Será uma cadeia de caracteres vazia se não foi configurado suporte a idioma quando o PostgreSQL foi construído).
Mostra o local onde residem as páginas do manual.
Mostra o local onde residem os arquivos de suporte independentes da arquitetura.
Mostra o local onde residem os arquivos de configuração para todo o sistema.
Mostra o local onde residem os arquivos de construção das extensões.
Mostra as opções passadas para o script configure quando o PostgreSQL foi configurado para ser construído. Pode ser utilizado para reproduzir uma configuração idêntica, ou para descobrir com quais opções o pacote binário foi construído (entretanto, deve ser observado que os pacotes binários geralmente contêm correções específicas da distribuição).
Mostra o valor da variável CC utilizada para construir o PostgreSQL. Mostra o compilador C utilizado.
Mostra o valor da variável CPPFLAGS utilizada para construir o PostgreSQL. Mostra as chaves do compilador C necessárias em tempo de pré-processamento (tipicamente, as chaves -I).
Mostra o valor da variável CFLAGS utilizada para construir o PostgreSQL. Mostra as chaves do compilador C.
Mostra o valor da variável CFLAGS_SL utilizada para construir o PostgreSQL. Mostra as chaves extra do compilador C utilizadas para construir as bibliotecas compartilhadas.
Mostra o valor da variável LDFLAGS utilizada para construir o PostgreSQL. Mostra as chaves do ligador.
Mostra o valor da variável LDFLAGS_SL utilizada para construir o PostgreSQL. Mostra as chaves do ligador utilizadas para construir as bibliotecas compartilhadas.
Mostra o valor da variável LIBS utilizada para construir o PostgreSQL. Normalmente contém as chaves -l para as bibliotecas externas ligadas ao PostgreSQL.
Mostra a versão do PostgreSQL e termina.
Se for fornecida mais de uma opção, a informação será mostrada nesta ordem, um item por linha. Se não for fornecida nenhuma opção, serão mostradas todas as informações disponíveis, com rótulos.
A opção --includedir-server começou no PostgreSQL 7.2. Nas versões anteriores, os arquivos de inclusão do servidor eram instalados no mesmo local dos cabeçalhos dos clientes, que podia ser consultado pela opção --includedir. Para fazer o pacote tratar os dois casos, deve-se tentar primeiro a opção mais nova e testar o status da saída para verificar se a execução foi bem-sucedida.
As opções --docdir, --pkgincludedir, --localedir, --mandir, --sharedir, --sysconfdir, --cc, --cppflags, --cflags, --cflags_sl, --ldflags, --ldflags_sl, e --libs começaram no PostgreSQL 8.1.
Nas versões do PostgreSQL anteriores a 7.1, antes do comando pg_config existir, não existia um método equivalente para encontrar as informações de configuração.
Para reproduzir a configuração de construção da instalação corrente do PostgreSQL, pode ser executado o seguinte comando:
eval ./configure `pg_config --configure`
A saída de pg_config --configure contém delimitadores do interpretador de comandos para que os argumentos com espaços sejam representados corretamente. Portanto, a utilização do comando eval é requerida para obtenção dos resultados apropriados.
Uso do pg_config. Neste exemplo o pg_config é executado sem nenhuma opção, para mostrar todos os parâmetros de configuração do PostgreSQL instalado no Kubuntu a partir do arquivo postgresql-8.2.0.tar.gz. [1]
$ pg_config BINDIR = /usr/local/pgsql/bin DOCDIR = /usr/local/pgsql/doc INCLUDEDIR = /usr/local/pgsql/include PKGINCLUDEDIR = /usr/local/pgsql/include INCLUDEDIR-SERVER = /usr/local/pgsql/include/server LIBDIR = /usr/local/pgsql/lib PKGLIBDIR = /usr/local/pgsql/lib LOCALEDIR = /usr/local/pgsql/share/locale MANDIR = /usr/local/pgsql/man SHAREDIR = /usr/local/pgsql/share SYSCONFDIR = /usr/local/pgsql/etc PGXS = /usr/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk CONFIGURE = '--enable-nls=pt_BR' CC = gcc CPPFLAGS = -D_GNU_SOURCE CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline \ -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing CFLAGS_SL = -fpic LDFLAGS = -Wl,-rpath,'/usr/local/pgsql/lib' LDFLAGS_SL = LIBS = -lpgport -lz -lreadline -lcrypt -ldl -lm VERSION = PostgreSQL 8.2.0
[1] |
Exemplo escrito pelo tradutor, não fazendo parte do manual original. |