(PHP 4, PHP 5, PHP 7, PHP 8)
pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL
pg_pconnect() устанавливает соединение с базой данных PostgreSQL. Возвращает экземпляр PgSql\Connection, необходимый для работы большинства функций PostgreSQL.
При повторном вызове функции pg_pconnect() с теми же значениями параметров в connection_string
функция вернёт существующее подключение. Чтобы принудительно создать новое соединение, необходимо передать строку подключения функции PGSQL_CONNECT_FORCE_NEW
в качестве параметра flags
.
Возможность создавать постоянные подключения регулируется директивой pgsql.allow_persistent файла php.ini. Для включения, установите значение в "On" (является значением по умолчанию). Максимальное количество постоянных соединений задаётся директивой pgsql.max_persistent файла php.ini (по умолчанию -1, не ограничено). Количество любых возможных подключений устанавливается директивой pgsql.max_links файла php.ini.
pg_close() не закрывает соединения, открытые функцией pg_pconnect().
connection_string
Строка connection_string
может быть пустой строкой или содержать несколько параметров разделённых пробелами. Каждый параметр указывается как keyword = value
. Пробелы вокруг знака равно необязательны. Пустые строки в качестве значения или значения, содержащие пробелы отделяются одинарными кавычками, как например, keyword = 'a value'
. Для задания одинарных кавычек и обратных слешей в качестве значений их необходимо экранировать обратным слешем, то есть \' и \\.
Список основных ключевых слов: host
, hostaddr
, port
, dbname
(значение по умолчанию для параметра user
), 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
$dbconn = pg_pconnect("dbname=mary");
//подключиться к базе "mary"
$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// подключиться к базе "mary" на хосте "localhost", порт "5432"
$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//подключиться к базе "mary" на хосте "sheep", используя имя пользователя и пароль
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//подключиться к базе "test" на хосте "sheep", используя имя пользователя и пароль
?>