pg_connect

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

pg_connectОткрывает соединение с базой данных PostgreSQL

Описание

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

Функция 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'");

?>

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

  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL
  • pg_close() - Закрывает соединение с базой данных PostgreSQL
  • pg_host() - Возвращает имя хоста, соответствующего подключению
  • pg_port() - Возвращает номер порта, соответствующий заданному соединению
  • pg_tty() - Возвращает имя терминала TTY, связанное с соединением
  • pg_options() - Получение параметров соединения с сервером баз данных
  • pg_dbname() - Определяет имя базы данных