PHP Handbuch
Zurück |  | Weiter

# pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace -- Ermöglicht die Ablaufverfolgung einer Verbindung

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

## Siehe auch

fopen()
pg_untrace()

Zurück | Zum Anfang | Weiter
pg_set_error_verbosity | Nach oben | pg_transaction_status