(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
pg_trace — Enable tracing a PostgreSQL connection
$filename
,$mode
= "w",$connection
= null
,$trace_mode
= 0pg_trace() enables tracing of the PostgreSQL frontend/backend communication to a file. To fully understand the results, one needs to be familiar with the internals of PostgreSQL communication protocol.
For those who are not, it can still be useful for tracing errors in queries sent to the server, you could do for example grep '^To backend' trace.log and see what queries actually were sent to the PostgreSQL server. For more information, refer to the » PostgreSQL Documentation.
filename
The full path and file name of the file in which to write the trace log. Same as in fopen().
mode
An optional file access mode, same as for fopen().
connection
PgSql\Connection
nesnesi. bağlantı
null
ise, öntanımlı bağlantı
kullanılır.Öntanımlı bağlantı pg_connect()
veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.
PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.
trace_mode
An optional trace mode with the following constants
PGSQL_TRACE_SUPPRESS_TIMESTAMPS
and
PGSQL_TRACE_REGRESS_MODE
Başarı durumunda true
, başarısızlık durumunda false
döner.
Sürüm: | Açıklama |
---|---|
8.3.0 |
trace_mode has been added.
|
8.1.0 |
bağlantı bağımsız değişkeni artık
PgSql\Connection nesnesi kabul ediyor, evvelce bir
özkaynak kabul ederdi.
|
8.0.0 |
connection is now nullable.
|
Örnek 1 pg_trace() example
<?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);
// Now /tmp/trace.log will contain backend communication
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>