Activa el seguimiento de una conexión PostgreSQL

# pg_trace

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

pg_trace — Activa el seguimiento de una conexión PostgreSQL

### Descripción

function pg_trace(
string `$filename`,
string `$mode` = "w",
?PgSql\Connection `$connection` = `null`,
int `$trace_mode` = 0
): bool

pg_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.

### Parámetros

`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()

  Advertencia

  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`

### Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

### Historial de cambios

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.

### Ejemplos

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;
    }
    ?>

### Ver también

- fopen() - Abre un fichero o un URL
- pg_untrace() - Finaliza el seguimiento de una conexión PostgreSQL

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open