(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
pg_trace — Activa el seguimiento de una conexión PostgreSQL
$filename
,$mode
= "w",$connection
= null
,$trace_mode
= 0pg_trace() activa el seguimiento de las comunicaciones entre PHP y el servidor PostgreSQL. Este historial se registrará en un fichero. Para comprender estas líneas, es necesario estar familiarizado con el protocolo de comunicación interno de PostgreSQL.
Para quienes no lo estén, pueden ser útiles para seguir las consultas y los errores: con el comando grep '^To backend' trace.log, se podrán ver las consultas realmente enviadas al servidor PostgreSQL. Para más información, consulte la » Documentación PostgreSQL.
filename
La ruta completa y el nombre del fichero en el que se registrará el seguimiento. Como fopen().
mode
El modo de acceso opcional, como fopen().
connection
Una instancia PgSql\Connection.
Cuando connection
es null
, se usa la conexión por defecto.
La conexión por defecto es la última conexión hecha por
pg_connect() o pg_pconnect()
Desde PHP 8.1.0, usar la conexión por defecto está obsoleto.
trace_mode
Un modo de seguimiento opcional con las constantes siguientes:
PGSQL_TRACE_SUPPRESS_TIMESTAMPS
y
PGSQL_TRACE_REGRESS_MODE
Versión | Descripción |
---|---|
8.3.0 |
trace_mode ha sido añadido.
|
8.1.0 |
El parámetro connection ahora espera una instancia de
PgSql\Connection ; anteriormente, se esperaba un resource.
|
8.0.0 |
connection ahora es nullable.
|
Ejemplo #1 Ejemplo con 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);
// Ahora /tmp/trace.log contendrá el seguimiento de las comunicaciones
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>