PostgreSQL-Funktionen
PHP Manual

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück

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

Beispiel #1 pg_last_error() Beispiel

<?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"

Siehe auch


PostgreSQL-Funktionen
PHP Manual