Function.pg-last-notice
Aus PHP-Wiki
pg_last_notice — Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück
Inhaltsverzeichnis |
Beschreibung
string pg_last_notice ( resource $connection )
pg_last_notice() gibt die letzte NOTICE-Meldung
des PostgreSQL Servers für die angegebene connection
zurück. Der PostgreSQL-Server sendet zu unterschiedlichen Anlässen
NOTICE-Meldungen an den Client, beispielsweise, wenn in einer Tabelle
eine Spalte vom Typ SERIAL erzeugt wurde.
Mit pg_last_notice() kann das Senden überflüssiger
Abfragen vermieden werden, indem man prüft, ob eine NOTICE-Meldung
sich auf die aktuelle Transaktion bezieht oder nicht.
Die Verfolgung von NOTICE-Benachrichtigungen kann auf
optional gesetzt werden, indem die Direktive
pgsql.ignore_notice in php.ini den Wert 1 erhält.
Die Protokollierung von Notice-Benachrichtigungen kann auf
optional gesetzt werden, indem die Direktive
pgsql.log_notice in php.ini den Wert 0 erhält. Nur wenn
die Direktive pgsql.ignore_notice den Wert 0 hat,
können Notice-Benachrichtigungen protokolliert werden.
Parameter-Liste
- connection
- PostgreSQL Verbindungskennung.
Rückgabewerte
Ein string, der die letzte NOTICE-Meldung für die übergebene connection enthält oder FALSE, falls ein Fehler auftrat.
ChangeLog
Version
Beschreibung
4.3.0
Diese Funktion ist nun vollständig implementiert. In früheren
Versionen wurde die Angabe des Parameters für die Verbindungskennung
zur Datenbank ignoriert.
4.3.0
Die Direktiven pgsql.ignore_notice und
pgsql.log_notice wurden in die php.ini eingefügt.
4.0.6
In PHP 4.0.6 gibt es ein Problem mit der Verarbeitung der
Notice-Benachrichtigungen. Von der Verwendung des PostgreSQL-Moduls
mit PHP 4.0.6 wird abgeraten, selbst wenn Sie die Funktion
pg_last_notice() nicht einsetzen.
Beispiele
#1 <a href="function.pg
<?php $pgsql_conn = pg_connect("dbname=mark host=localhost"); $res = pg_query("CREATE TABLE test (id SERIAL)"); $notice = pg_last_notice($pgsql_conn); echo $notice; ?>
Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"