# pg_trace

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

pg_trace — Active le suivi d'une connexion PostgreSQL

### Description

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

pg_trace() active le suivi des communications entre PHP et le serveur PostgreSQL. Cet historique sera enregistré dans un fichier. Pour comprendre ces lignes, il faut être familier avec le protocole de communication interne à PostgreSQL.

Pour ceux qui le ne sont pas, elles peuvent être utiles pour suivre les requêtes et les erreurs : avec la commande grep '^To backend' trace.log, vous pourrez voir les requêtes réellement envoyées au serveur PostgreSQL. Pour plus d'informations, référez-vous à la » Documentation PostgreSQL.

### Liste de paramètres

`filename`

  Le chemin complet et le nom du fichier dans lequel le suivi sera enregistré. Comme fopen().

`mode`

  Le mode d'accès optionnel, comme fopen().

`connection`

  Une instance PgSql\Connection. Quand `connection` est `null`, la connexion par défaut est utilisé. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect()

  Avertissement

  À partir de PHP 8.1.0, utiliser la connexion par défaut est obsolète.

`trace_mode`

  Un mode de trace facultatif avec les constantes suivantes : `PGSQL_TRACE_SUPPRESS_TIMESTAMPS` et `PGSQL_TRACE_REGRESS_MODE`

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.3.0 | `trace_mode` a été ajouté.
8.1.0 | Le paramètre `connection` attend désormais une instance de PgSql\Connection ; auparavant, une resource était attendu.
8.0.0 | `connection` est désormais nullable.

### Exemples

Exemple #1 Exemple avec 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);
// Maintenant /tmp/trace.log contiendra le suivi des communications
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>`

### Voir aussi

- fopen() - Ouvre un fichier ou une URL
- pg_untrace() - Termine le suivi d'une connexion PostgreSQL