ecpg



ECPG(1)                 PostgreSQL Client Applications                 ECPG(1)




NAME

       ecpg - embedded SQL C preprocessor



SYNOPSIS

       ecpg [ option... ]  file...


DESCRIPTION

       ecpg  is  the  embedded  SQL preprocessor for C programs. It converts C
       programs with embedded SQL statements to normal C code by replacing the
       SQL  invocations with special function calls. The output files can then
       be processed with any C compiler tool chain.

       ecpg will convert each input file given on the command line to the cor-
       responding  C  output  file.  Input files preferably have the extension
       .pgc, in which case the extension will be replaced by .c  to  determine
       the  output  file name. If the extension of the input file is not .pgc,
       then the output file name is computed by appending .c to the full  file
       name.  The output file name can also be overridden using the -o option.

       This reference page does not describe the embedded SQL  language.   See
       the documentation for more information on that topic.


OPTIONS

       ecpg accepts the following command-line arguments:

       -c     Automatically  generate certain C code from SQL code. Currently,
              this works for EXEC SQL TYPE.

       -C mode
              Set a compatibility mode. mode may be INFORMIX or INFORMIX_SE.

       -D symbol
              Define a C preprocessor symbol.

       -i     Parse system include files as well.

       -I directory
              Specify an additional include path, used to find files  included
              via  EXEC  SQL  INCLUDE.  Defaults  are  .  (current directory),
              /usr/local/include, the PostgreSQL include  directory  which  is
              defined at compile time (default: /usr/local/pgsql/include), and
              /usr/include, in that order.

       -o filename
              Specifies that ecpg should write all its  output  to  the  given
              filename.

       -r option
              Selects  a  run-time  behavior.  Currently,  option  can only be
              no_indicator.

       -t     Turn on autocommit of transactions. In this mode, each SQL  com-
              mand  is automatically committed unless it is inside an explicit
              transaction block. In the default mode, commands  are  committed
              only when EXEC SQL COMMIT is issued.

       -v     Print  additional  information  including  the  version  and the
              include path.

       --help Show a brief summary of the command usage, then exit.

       --version
              Output version information, then exit.



NOTES

       When compiling the preprocessed C code files, the compiler needs to  be
       able to find the ECPG header files in the PostgreSQL include directory.
       Therefore, one might have to use the -I option when invoking  the  com-
       piler (e.g., -I/usr/local/pgsql/include).

       Programs  using  C code with embedded SQL have to be linked against the
       libecpg   library,   for   example    using    the    linker    options
       -L/usr/local/pgsql/lib -lecpg.

       The  value  of  either of these directories that is appropriate for the
       installation can be found out using pg_config(1).


EXAMPLES

       If you have an embedded SQL C source file named prog1.pgc, you can cre-
       ate an executable program using the following sequence of commands:

       ecpg prog1.pgc
       cc -I/usr/local/pgsql/include -c prog1.c
       cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg




Application                       2005-01-17                           ECPG(1)

Man(1) output converted with man2html