(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
pg_last_notice — Liefert die letzte NOTICE-Meldung des PostgreSQL-Servers
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.
connection
Eine PgSql\Connection-Instanz.
mode
Entweder PGSQL_NOTICE_LAST
(um die letzte Notice
zu erhalten), PGSQL_NOTICE_ALL
(um alle Notices zu
erhalten) oder PGSQL_NOTICE_CLEAR
(um die Notices
zu löschen).
Ein String, der die letzte NOTICE-Meldung für die übergebene
connection
enthält bei
PGSQL_NOTICE_LAST
, ein Array bei
PGSQL_NOTICE_ALL
, ein bool bei
PGSQL_NOTICE_CLEAR
.
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine resource erwartet.
|
7.1.0 |
Der Parameter mode wurde hinzugefügt.
|
Beispiel #1 pg_last_notice()-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"