(PHP 4, PHP 5, PHP 7)
pg_pconnect — Öffnet eine persistente PostgreSQL-Verbindung
$connection_string
[, int $connect_type
] )pg_pconnect() öffnet eine persistente Verbindung zu einer PostgreSQL-Datenbank. Zurückgegeben wird eine Verbindungskennung, 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, Sie übergeben die
Konstante PGSQL_CONNECT_FORCE_NEW
als
connect_type
.
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.
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.
connect_type
Falls PGSQL_CONNECT_FORCE_NEW
übergeben
wurde, wird eine neue Verbindung aufgebaut, auch wenn der
connection_string
identisch zu dem einer
existierenden Verbindung ist.
Bei Erfolg wird eine PostgreSQL-Verbindungskennung zurückgegeben oder
FALSE
, falls ein Fehler auftrat.
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
?>