ecpg
CentOSサーバに、PostgreSQLをインストールしていたのだが、後輩から、”ecpgってコマンドが見つからないです”って言われて、調べてみたけど、インストールされていないようです。
そもそも、ecpgtって何よ?
ググって見たら、C プログラムに SQL を埋め込むプリプロセッサであることを知りました。
それで、Postgresql-serverのパッケージには入っていないらしく、Postgresql-develを入れろ!との指令が。
#> yum -y install postgresql-devel
ecpg 入ったよ。
SQL を C プログラムから呼び出すには,
exec sql xxx;
というように “exec sql” というキーワードを用いる.
基本的にデータベースとのやりとり以外は通常の C プログラミングと何ら変わりはなく,
データベースとの
- 通信の ON/OFF
- データの授受
といった部分に上記の「exec sql」を用いる.ただし,これらの命令を利用するため
exec sql include sqlca ;
というヘッダの読み込み命令を書いておき,いったんプリプロセッサ ecpg を通す必要がある.
つまり,そのソースの拡張子を .pgc として
*.pgc —(プリプロセッサecpg)—> *.c —(Cコンパイラ ) —> バイナリ
という流れでアプリケーションを作成することになる.
ちなみに、Debian,Ubuntu系では、postgresql-develは用意されていないから、libecpg-devを入れれば良い。
同時に、compat3,libecpg6もインストールされる。