pg_trace
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
pg_trace — PostgreSQL 接続のトレースを有効にする
説明
pg_trace
( string $pathname
[, string $mode
= "w"
[, resource $connection
]] ) : bool
pg_trace() は、PostgreSQL フロントエンド/ バックエンド間の通信をデバック用のファイルにトレースすることを有効にします。 このトレース結果を完全に理解するためには、PostgreSQL 通信プロトコルの詳細に 精通している必要があります。
そうでない人にとっても、サーバーに送られたクエリのエラーを トレースすることは有用です。試しに grep '^To backend' trace.log を実行し、実際に PostgreSQL サーバーに送信される クエリを見てみるとよいでしょう。詳細な情報は » PostgreSQL ドキュメントを 参照ください。
パラメータ
pathname
- トレースログを書き込むファイルの名前(フルパスを含む)。 fopen() と同じ。
mode
- オプションのファイルアクセスモード。fopen() と同じです。
connection
- PostgreSQL データベース接続リソース。
connection
が指定されていない場合はデフォルトの接続が使用されます。 デフォルトの接続は、直近の pg_connect() あるいは pg_pconnect() によって作成されたものです。
返り値
成功した場合に true
を、失敗した場合に false
を返します。
例
例1 pg_trace() の例
<?php$pgsql_conn = pg_connect("dbname=mark host=localhost");if ($pgsql_conn) { pg_trace('/tmp/trace.log', 'w', $pgsql_conn); pg_query("SELECT 1"); pg_untrace($pgsql_conn); // /tmp/trace.log にバックエンドの通信が記録される} else { print pg_last_error($pgsql_conn); exit;}?>