(PHP 4, PHP 5, PHP 7, PHP 8)
pg_connect — Открывает соединение с базой данных PostgreSQL
Функция pg_connect() открывает соединение с базой данных
PostgreSQL на основе параметров, которые указали в строке connection_string
.
При повторном вызове функции pg_connect() с теми же параметрами
в строке connection_string
функция вернёт подключение,
которое уже установили, если только в параметр flags
не передали флаг PGSQL_CONNECT_FORCE_NEW
.
Прежний синтаксис с набором параметров — $conn = pg_connect("host", "port", "options", "tty", "dbname") — устарел.
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.
Параметр options
устанавливает параметры командной строки, которые
вызовет сервер.
flags
При передаче флага PGSQL_CONNECT_FORCE_NEW
функция создаёт новое соединение,
даже если строка подключения connection_string
идентична
строке подключения, которое уже установили.
При передаче флага PGSQL_CONNECT_ASYNC
функция устанавливает
асинхронное соединение. Состояние соединения
проверяют функцией pg_connect_poll()
или pg_connection_status().
Функция возвращает экземпляр класса PgSql\Connection,
если выполнилась успешно, или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.1.0 | Функция теперь возвращает экземпляр класса PgSql\Connection; раньше возвращался ресурс (resource). |
Пример #1 Пример установки соединения функцией pg_connect()
<?php
// Подключение к базе данных "mary"
$dbconn = pg_connect("dbname=mary");
// Подключение к базе "mary" на хосте "localhost" и порте "5432"
$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// Подключение к базе "mary" на хосте "sheep" с именем пользователя и паролем
$dbconn3 = pg_connect("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_connect($conn_string);
// Подключение к базе на хосте "localhost" с передачей параметра командной строки,
// который устанавливает кодировку UTF-8
$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
?>