ページの先頭行へ戻る
HA Database Ready 業務開発ガイド(Open SQL編)
FUJITSU Integrated System

4.3.3 C言語用ライブラリを利用する場合

以下の環境変数または接続文字列を設定することで、アプリケーションのログが出力できます。

表4.10 環境変数の設定内容

環境変数

設定する値

説明

PGXLOGDIR(注)

アプリケーションのログの出力先ディレクトリ

アプリケーションのログの出力先ディレクトリを指定します。

ログファイルは、コネクションごとに作成されます。ファイル名は、以下のようにプロセスID、コネクションID、およびログファイルが作成された日時が付加されます。

  • ファイル名の形式

    libpq-プロセスID-コネクションID-YYYY-MM-MM_HHMMSS.log

  • ファイル名の出力例

    libpq-3252-1-2012-09-26_085841.log

PGXLOGSIZE(注)

アプリケーションのログの最大サイズ

アプリケーションのログのサイズがこの値を超えると、別のファイルにログを切り替えます。

単位はメガバイトで、1から2047まで指定できます。

注)ログを出力する場合は、必ず設定してください。設定しなかった場合、または設定に誤りがある場合は、環境変数でのログ出力の設定は有効になりません。

表4.11 接続文字列の設定内容

接続文字列

設定する値

説明

logdir(注)

アプリケーションのログの出力先ディレクトリ

アプリケーションのログの出力先ディレクトリを指定します。

ログファイルは、コネクションごとに作成されます。ファイル名は、以下のようにプロセスID、コネクションID、およびログファイルが作成された日時が付加されます。

  • ファイル名の形式

    libpq-プロセスID-コネクションID-YYYY-MM-MM_HHMMSS.log

  • ファイル名の出力例

    libpq-3252-1-2012-09-26_085841.log

logsize(注)

アプリケーションのログの最大サイズ

アプリケーションのログのサイズがこの値を超えると、別のファイルにログを切り替えます。

単位はメガバイトで、1から2047まで指定できます。

注)ログを出力する場合は、必ず設定してください。設定しなかった場合、または設定に誤りがある場合は、接続文字列でのログ出力の設定は有効になりません。

ポイント

環境変数および接続文字列の両方が指定された場合は、接続文字列を優先します。

環境変数の指定例
接続文字列の指定例
アプリケーションのログの出力情報

ログの出力形式と出力情報について、説明します。

出力形式
日付△時刻△コネクションID△通信種別△実行ログ

△:半角スペースを表します

出力情報

出力情報

説明

日付

処理を実行した日付が以下の形式で出力されます。

  • YYYY/MM/DD

時刻

処理を実行した時刻が以下の形式で出力されます。

  • HH:MM:SS.sss

コネクションID

コネクションIDが以下の形式で出力されます。

  • (コネクションID)

通信種別

通信種別が以下の形式で出力されます。

  • “To backend>”
    クライアントから送信した情報であることを表します。

  • “From backend>”
    データベースサーバから受信した情報であることを表します。

実行ログ

実行した処理の内容が出力されます。

アプリケーションのログの出力例
:(省略)
2012/09/26 13:54:46.760 (1) To backend> Msg Q
2012/09/26 13:54:46.760 (1) To backend> "DECLARE myportal CURSOR FOR select * from tb1"
                                                                    ・・・(1)
2012/09/26 13:54:46.760 (1) From backend> C
2012/09/26 13:54:46.760 (1) From backend (#4)> 19
2012/09/26 13:54:46.760 (1) From backend> "DECLARE CURSOR"
2012/09/26 13:54:46.760 (1) From backend> Z
2012/09/26 13:54:46.760 (1) From backend (#4)> 5
2012/09/26 13:54:46.760 (1) From backend> Z
2012/09/26 13:54:46.760 (1) From backend (#4)> 5
2012/09/26 13:54:46.760 (1) From backend> T
2012/09/26 13:54:46.760 (1) To backend> Msg Q
2012/09/26 13:54:46.760 (1) To backend> "FETCH ALL in myportal"
2012/09/26 13:54:46.760 (1) To backend> Msg complete, length 27
2012/09/26 13:54:47.760 (1) From backend> T
2012/09/26 13:54:47.760 (1) From backend (#4)> 48
2012/09/26 13:54:47.760 (1) From backend (#2)> 2
2012/09/26 13:54:47.760 (1) From backend> "c1"
:(省略)
2012/09/26 13:54:47.760 (1) From backend> "FETCH 2"                    ・・・(2)
2012/09/26 13:54:47.760 (1) From backend> Z
2012/09/26 13:54:47.760 (1) From backend (#4)> 5
2012/09/26 13:54:47.760 (1) From backend> Z
2012/09/26 13:54:47.760 (1) From backend (#4)> 5
2012/09/26 13:54:47.760 (1) From backend> T
2012/09/26 13:54:47.760 (1) To backend> Msg Q
2012/09/26 13:54:47.760 (1) To backend> "CLOSE myportal"
2012/09/26 13:54:47.760 (1) To backend> Msg complete, length 20
2012/09/26 13:54:47.760 (1) From backend> C
2012/09/26 13:54:47.760 (1) From backend (#4)> 17
2012/09/26 13:54:47.760 (1) From backend> "CLOSE CURSOR"
2012/09/26 13:54:47.760 (1) From backend> Z
2012/09/26 13:54:47.760 (1) From backend (#4)> 5
:(省略)
2012/09/26 13:54:47.760 (1) To backend> "END"
2012/09/26 13:54:47.760 (1) To backend> Msg complete, length 9
:(省略)

(1)クエリ情報
  実行したSQL文を出力します。
(2)Fetch情報
  データベースサーバから、データを取得したことを表します。


参考

アプリケーションのログの出力設定は、PQtrace関数でも指定できます。環境変数および接続文字列の設定よりPQtrace関数の指定が優先されます。

  • PQtrace関数での指定方法(注)

    void PQtrace(PGconn *conn, FILE *stream);

    注)Windowsにおいて、libpqライブラリとアプリケーションが異なるオプションでコンパイルされるとこの関数呼び出しのFILEポインタの内部表現の違いにより、アプリケーションが正しく動きません。

    libpqのコンパイル時は、/MDオプションを指定してください。