O utilitário ecpg é o pré-processador da linguagem SQL incorporada (embedded) para programas escritos na linguagem C. Converte programas C com declarações SQL incorporadas em código C normal, substituindo as chamadas SQL por chamadas a funções especiais. Os arquivos de saída podem, então, ser processados por qualquer cadeia de ferramentas do compilador C.
O ecpg converte cada arquivo de entrada especificado na linha de comando, no arquivo de saída C correspondente. De preferência, os arquivos de entrada devem possuir a extensão .pgc e, neste caso, a extensão é substituída por .c para determinar o nome do arquivo de saída. Se a extensão do arquivo de entrada não for .pgc, então o nome do arquivo de saída será gerado anexando .c ao nome completo do arquivo de entrada. O nome do arquivo de saída pode ser especificado por meio da opção -o.
Esta página de referência não descreve a linguagem SQL incorporada. Para obter informações adicionais sobre este tópico deve ser consultado o Capítulo 29 .
O ecpg aceita os seguintes argumentos de linha de comando:
Gera, automaticamente, certos códigos C a partir do código SQL. Atualmente funciona para EXEC SQL TYPE.
Define o modo de compatibilidade. O modo pode ser INFORMIX ou INFORMIX_SE.
Define um símbolo do pré-processador C.
Analisa, também, os arquivos de inclusão do sistema.
Especifica um caminho de inclusão adicional, utilizado para encontrar arquivos incluídos por meio de EXEC SQL INCLUDE. Por padrão os seguintes: . (o diretório atual), /usr/local/include, o diretório de inclusão do PostgreSQL definido em tempo de compilação (por padrão /usr/local/pgsql/include) e /usr/include, nesta ordem.
Especifica que o ecpg deve escrever toda a sua saída no arquivo_de_saída especificado.
Seleciona um comportamento em tempo de execução. Atualmente opção pode ser apenas no_indicator.
Ativa a auto-efetivação (auto-commit) das transações. Neste modo, cada comando SQL é automaticamente efetivado, a não ser que esteja dentro de um bloco de transação explícito. No modo padrão, os comandos são efetivados somente quando é submetido EXEC SQL COMMIT.
Mostra informações adicionais, incluindo a versão e o caminho de inclusão.
Mostra um breve resumo da utilização do comando e depois termina.
Mostra a informação da versão e depois termina.
Ao compilar arquivos com o código C pré-processado, o compilador necessita encontrar os arquivos de cabeçalho do ECPG no diretório de inclusão do PostgreSQL. Portanto, é necessário usar a opção -I ao chamar o compilador (por exemplo, -I/usr/local/pgsql/include).
Os programas escritos em C com comandos SQL incorporados necessitam da biblioteca libecpg para a ligação. Pode ser usado, por exemplo, as opções do ligador -L/usr/local/pgsql/lib -lecpg.
Os nomes destes diretórios, apropriados para a instalação, podem ser descobertos utilizando o aplicativo pg_config.