ConFoo 2025

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

pg_last_noticeLiefert die letzte NOTICE-Meldung des PostgreSQL-Servers

Beschreibung

pg_last_notice(PgSql\Connection $connection, int $mode = PGSQL_NOTICE_LAST): array|string|bool

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

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).

Rückgabewerte

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.

Changelog

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.

Beispiele

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"

Siehe auch

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top