pg_pconnect
(PHP 4, PHP 5, PHP 7, PHP 8)
pg_pconnect — Открывает постоянное соединение с сервером 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
, если возникла ошибка.
Примеры
Пример #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);
?>