pg_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_pconnectÖffnet eine persistente PostgreSQL-Verbindung

Beschreibung

pg_pconnect(string$connection_string, int$flags = 0): PgSql\Connection|false

pg_pconnect() öffnet eine persistente Verbindung zu einer PostgreSQL-Datenbank. Zurückgegeben wird eine PgSql\Connection-Instanz, die von anderen PostgreSQL-Funktionen benötigt wird.

Falls pg_pconnect() ein zweites Mal mit demselben connection_string einer bereits existierenden Verbindung aufgerufen wird, wird die Verbindungskennung dieser existierenden Verbindung zurückgegeben, es sei denn, die Konstante PGSQL_CONNECT_FORCE_NEW wird als flags übergeben.

Um persistente Verbindungen zu ermöglichen, muss die pgsql.allow_persistent-Direktive in php.ini auf den Wert "On" gesetzt sein (was der Standardeinstellung entspricht). Die maximale Anzahl geöffneter persistenter Verbindungen kann mit der Direktive pgsql.max_persistent in php.ini definiert werden (der Standardwert ist -1, der für unbegrenzt steht). Die Gesamtanzahl der Verbindungen kann mit der pgsql.max_links-Direktive in php.ini gesetzt werden.

pg_close() schließt keine persistenten Verbindungen, die mit pg_pconnect() erzeugt wurden.

Parameter-Liste

connection_string

Der connection_string kann leer sein, um die Standardwerte für die Parameter zu benutzen. Er kann auch einen oder mehrere durch Whitespace-Zeichen getrennte Parameter enthalten. Jeder Parameter wird in der Form keyword = Wert angegeben, Leerzeichen vor und nach dem Gleichheitszeichen sind optional. Um einen leeren Wert oder einen Wert, der Leerzeichen enthält, anzugeben, müssen Sie den Wert in einfache Anführungszeichen einschließen, zum Beispiel keyword = 'ein Wert'. Einfache Anführungszeichen und Backslashes innerhalb des Wertes müssen mit einem Backslash maskiert werden, beispielsweise \' und \\.

Gegenwärtig werden die folgenden Schlüsselwörter als Parameter erkannt: host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (wird ignoriert), sslmode, requiressl (veraltet zugunsten von sslmode) und service. Welche dieser Parameter zur Verfügung stehen, hängt von Ihrer PostgreSQL-Version ab.

flags

Falls PGSQL_CONNECT_FORCE_NEW übergeben wurde, wird eine neue Verbindung aufgebaut, auch wenn der connection_string identisch zu dem einer existierenden Verbindung ist.

Rückgabewerte

Bei Erfolg wird eine PgSql\Connection-Instanz zurückgegeben. Bei einem Fehler wird false zurückgegeben.

Changelog

VersionBeschreibung
8.1.0 Gibt nun eine PgSql\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben.

Beispiele

Beispiel #1 pg_pconnect() benutzen:

<?php
$dbconn
= pg_pconnect("dbname=mary");
//Verbindungsaufbau zu einer Datenbank namens "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf "localhost" und port "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf dem Host
// "sheep" mit Benutzername und Passwort

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
// Verbindungsaufbau zu einer Datenbank namens "test" auf dem Host
// "sheep" mit Benutzername und Passwort
?>

Siehe auch

To Top