Function.pg-trace
Aus PHP-Wiki
pg_trace — Ermöglicht die Ablaufverfolgung einer Verbindung
Inhaltsverzeichnis |
Beschreibung
bool pg_trace ( string $pathname [, string $mode [, resource $connection ]] )
pg_trace() ermöglicht die Protokollierung der
frontend/backend Kommunikation in eine Datei, die durch den
Pfadnamen pathname
bestimmt wurde. Um die
Ergebnisse ganz zu verstehen, sollte man sich mit den Interna des
PostgreSQL-Kommunikationsprotokolls auskennen.
Für diejenigen, die sich damit nicht auskennen kann es trotzdem
hilfreich sein, um Fehler in Abfragen zu finden, die an den Server
gesendet wurden. Beispielsweise können Sie das Kommando
grep '^To backend' trace.log eingeben und
schauen, welche Abfrage gerade an den PostgreSQL Server geschickt
wurde. Weitere Informationen finden Sie in der [PostgreSQL Documentation].
Parameter-Liste
- pathname
- Der vollständige Pfad- und Dateiname der Datei, in die das Ablauf-Protokoll geschrieben werden soll. Genau wie bei fopen().
- pathname
- Optional kann ein Zugriffsmodus übergeben werden, genauso wie bei fopen(). Der Vorgabewert ist "w".
- connection
- PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.
Rückgabewerte
Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.
Beispiele
Beispiel #1 pg_trace() Beispiel
<?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); // Jetzt enthält /tmp/trace.log die Kommunikation mit dem Server } else { print pg_last_error($pgsql_conn); exit; } ?>