table of contents
ECPG(1) | PostgreSQL Client Applications | ECPG(1) |
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
2003-11-02 | Application |