Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       ecpg - 嵌入的 SQL C 预处理器

SYNOPSIS

       ecpg [ option... ] file...

DESCRIPTION 描述

       ecpg  是一个嵌入的用于C  语言的  SQL  预编译器。  它把嵌有  SQL  语句的  C  程序通过将 SQL
       调用替换成特殊的函数调用的方法转换成普通的   C   代码。    然后输出的文件就可以用任何    C
       编译工具进行处理。

       clusterdb  将把命令行上给出的每个输入文件转换成对应的  C  输出文件。  输入文件最好有  .pgc
       的扩展名,   这样,这个扩展将被替换成   .c    来决定输出文件名。    如果输入文件的扩展不是
       .pgc,那么输出文件名将通过在全文件名后面附加 .c 来生成。 输出文件名也可以用 -o 选项覆盖。

        本手册页并不描述嵌入的 SQL 语句,参阅 Chapter 29 获更多信息。

OPTIONS 选项

       clusterdb 接受下列命令行参数:

       -c
               为 SQL 代码自动生成某种 C 代码。目前,这个选项可以用于 EXEC SQL TYPE。

       -C mode
               设置一个兼容模式。mode 可以是 INFORMIX 或者 INFORMIX_SE。

       -D symbol
               定义一个 C 预编译器符号。

       -i
               同时也分析系统包含文件。

       -I include-path
               声明一个附加的包含路径。用于寻找通过    EXEC    SQL   INCLUDE   包含的文件。缺省是
              .(当前目录),  /usr/local/include,   在编译时定义的PostgreSQL   包含路径(缺省:
              /usr/local/pgsql/include)和 /usr/include。顺序如上。

       -o filename
               声明ecpg应该把它的所有输出写到给出的 filename里。

       -t
               打开自动提交模式。在这种模式象,每个查询都自动提交,
              除非它是包围在一个明确的事务块中。在缺省模式下,  命令只是在发出  EXEC  SQL  COMMIT
              的时候提交。

       -v
               打印额外的信息,包括版本和包含路径。

       --help
               显示一个命令用法的简单摘要,然后退出。

       --version
               显示版本信息,然后退出。

NOTES 注意

        在编译预处理的   C   代码文件的时候,编译器需要能够找到  PostgreSQL  包含目录里面的  ECPG
       头文件。因此,我们在调用编译器的时候可能需要使用                                        -I
       (比如,-I/usr/local/pgsql/include)。
        使用了嵌入    SQL    的    C    代码必须和   libecpg   库链接,比如,使用这样的链接选项:
       -L/usr/local/pgsql/lib -lecpg
        这些目录的实际值可以通过 pg_config(1) 找到。

EXAMPLES 例子

        如果你有一个叫          prog1.pgc           的嵌入           SQL           的           C
       源代码,你可以用下面的命令序列创建一个可执行程序:

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

译者

       Postgresql 中文网站 何伟平 <laser@pgsqldb.org>

       本页面中文版由中文 man 手册页计划提供。
       中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh