(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
pg_trace — Active le suivi d'une connexion PostgreSQL
$filename
,$mode
= "w",$connection
= null
,$trace_mode
= 0pg_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.
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()
À 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
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
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 ressource était attendu.
|
8.0.0 |
connection est désormais nullable.
|
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;
}
?>