第33章 libpq - C ライブラリ

目次

33.1. データベース接続制御関数
33.1.1. 接続文字列
33.1.2. パラメータキーワード
33.2. 接続状態関数
33.3. コマンド実行関数
33.3.1. 主要な関数
33.3.2. 問い合わせ結果の情報の取り出し
33.3.3. 他の結果情報の取り出し
33.3.4. SQLコマンドに含めるための文字列のエスケープ処理
33.4. 非同期コマンドの処理
33.5. 1行1行問い合わせ結果を受け取る
33.6. 処理中の問い合わせのキャンセル
33.7. 近道インタフェース
33.8. 非同期通知
33.9. COPYコマンド関連関数
33.9.1. COPYデータ送信用関数
33.9.2. COPYデータ受信用関数
33.9.3. 廃れたCOPY用関数
33.10. 制御関数
33.11. 雑多な関数
33.12. 警告処理
33.13. イベントシステム
33.13.1. イベントの種類
33.13.2. イベントコールバックプロシージャ
33.13.3. イベントサポート関数
33.13.4. イベント事例
33.14. 環境変数
33.15. パスワードファイル
33.16. 接続サービスファイル
33.17. 接続パラメータのLDAP検索
33.18. SSLサポート
33.18.1. サーバ証明書のクライアント検証
33.18.2. クライアント証明書
33.18.3. 異なるモードで提供される保護
33.18.4. SSLクライアントファイル使用方法
33.18.5. SSLライブラリの初期化
33.19. スレッド化プログラムの振舞い
33.20. libpqプログラムの構築
33.21. サンプルプログラム
<title><application>libpq</application> - C Library</title>

<application>libpq</application> is the <acronym>C</acronym> application programmer's interface to <productname>PostgreSQL</>. <application>libpq</> is a set of library functions that allow client programs to pass queries to the <productname>PostgreSQL</> backend server and to receive the results of these queries. libpqは、C言語によるアプリケーションプログラマ用のPostgreSQLインタフェースです。 libpqは、クライアントプログラムからPostgreSQLのバックエンドサーバに問い合わせを渡し、その結果を受け取るためのライブラリ関数の集合です。

<application>libpq</> is also the underlying engine for several other <productname>PostgreSQL</> application interfaces, including those written for C++, Perl, Python, Tcl and <application>ECPG</>. So some aspects of <application>libpq</>'s behavior will be important to you if you use one of those packages. In particular, <xref linkend="libpq-envars">, <xref linkend="libpq-pgpass"> and <xref linkend="libpq-ssl"> describe behavior that is visible to the user of any application that uses <application>libpq</>. libpqは、C++、Perl、Python、Tcl、ECPGなどを含む、PostgreSQLの他の各種アプリケーションインタフェースを支えるエンジンでもあります。 従って、libpqの動作は、これらのパッケージを使用する人にとって重要なものになります。 特に、33.1433.15および33.18にて、libpqを使用するすべてのアプリケーションのユーザから見える動作を説明します。

Some short programs are included at the end of this chapter (<xref linkend="libpq-example">) to show how to write programs that use <application>libpq</application>. There are also several complete examples of <application>libpq</application> applications in the directory <filename>src/test/examples</filename> in the source code distribution. 本章の最後に、libpqの使い方を示す、いくつかの短いプログラム(33.21)があります。 また、ソースコード配布物内のsrc/test/examplesディレクトリに、libpqを利用したアプリケーションプログラム一式の例があります。

Client programs that use <application>libpq</application> must include the header file <filename>libpq-fe.h</filename><indexterm><primary>libpq-fe.h</></> and must link with the <application>libpq</application> library. libpqを使用してフロントエンドプログラムを作成するには、libpq-fe.hヘッダファイルのインクルードと、libpq ライブラリとのリンクが必要です。