pg_pconnect

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

pg_pconnectОткрывает постоянное соединение с сервером PostgreSQL

Описание

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

Функция pg_pconnect() устанавливает соединение с базой данных PostgreSQL и возвращает экземпляр класса PgSql\Connection, который требуется другим функциям взаимодействия с СУБД PostgreSQL.

При повторном вызове функции pg_pconnect() с теми же параметрами в строке connection_string функция вернёт подключение, которое уже установили, если только в параметр flags не передали флаг PGSQL_CONNECT_FORCE_NEW.

Постоянные соединения включают в файле php.ini путём установки в директиве pgsql.allow_persistent значения по умолчанию — "On". Максимальное количество постоянных подключений определяют в файле php.ini через директиву pgsql.max_persistent. Стандартное значение директивы равняется -1. Это значение снимает ограничения на количество подключений. Общее количество подключений устанавливают в файле php.ini через директиву pgsql.max_links.

Функция pg_close() не закрывает соединения, которые открыли функцией pg_pconnect().

Список параметров

connection_string

Параметр connection_string принимает пустую строку или настройки параметров через пробел. При передаче пустой строки функция открывает постоянное соединение с параметрами по умолчанию. Каждую настройку параметра передают в форме keyword = value. Пробелы вокруг знака равенства необязательны. Пустые значения или значения с пробелами записывают в одинарных кавычках: keyword = 'a value'. Одинарные кавычки и обратные слеши внутри значения экранируют обратным слешем: \' и \\.

Функция распознаёт следующие параметры: host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (игнорируется), sslmode, requiressl (устарел в пользу sslmode) и service. Поддержка параметров зависит от версии СУБД PostgreSQL.

flags

При передаче флага PGSQL_CONNECT_FORCE_NEW функция создаёт новое соединение, даже если строка подключения connection_string идентична строке подключения, которое уже установили.

Возвращаемые значения

Функция возвращает экземпляр класса PgSql\Connection, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
8.1.0 Функция теперь возвращает экземпляр класса PgSql\Connection; раньше возвращался ресурс (resource).

Примеры

Пример #1 Пример установки постоянного соединения функцией pg_pconnect()

<?php

// Подключение к базе данных "mary"
$dbconn = pg_pconnect("dbname=mary");

// Подключение к БД "mary" на хосте "localhost" и порте "5432"
$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");

// Подключение к базе данных "mary" на хосте "sheep" с именем пользователя и паролем
$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");

// Подключение к БД "test" на хосте "sheep" с именем пользователя и паролем
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);

?>

Смотрите также