update page now

Функции PostgreSQL

Примечания

Замечание:

Не все функции могут поддерживаться в собранном модуле. Это зависит от версии вашей libpq (клиентская библиотека PostgreSQL) и как libpq была собрана. Если модуль PostgreSQL для PHP отсутствует, то это значит, что версия вашей libpq не поддерживается.

Замечание:

Большинство функций PostgreSQL принимают connection в качестве первого необязательного параметра. Если параметр отсутствует, то используется последнее открытое соединение. Если же такого не существует, то функция возвращает false.

Замечание:

PostgreSQL автоматически переводит все идентификаторы (такие как имена таблиц/столбцов) в нижний регистр во время создания объекта и выполнения запроса. Для того, чтобы заставить использовать идентификаторы в обоих или только в верхнем регистрах, вы должны экранировать идентификатор с помощью двойных кавычек ("").

Замечание:

В PostgreSQL нет специальных команд для получения информации о схеме БД (к примеру, всех таблиц выбранной базы данных). Но вместо этого в версиях PostgreSQL 7.4 и выше существует стандартная схема, которая называется information_schema. Она содержит системные представления (view) со всей необходимой информацией в легкодоступной форме. Для дополнительной информации смотрите » документацию PostgreSQL

Содержание

  • pg_affected_rows — Возвращает количество затронутых запросом записей (кортежей)
  • pg_cancel_query — Остановка асинхронного запроса.
  • pg_client_encoding — Получение кодировки клиента.
  • pg_close — Закрывает соединение с базой данных PostgreSQL
  • pg_connect — Открывает соединение с базой данных PostgreSQL
  • pg_connect_poll — Опросить статус попытки асинхронного соединения PostgreSQL.
  • pg_connection_busy — Проверяет, занято ли соединение в данный момент.
  • pg_connection_reset — Сброс подключения (переподключение)
  • pg_connection_status — Определяет состояние подключения
  • pg_consume_input — Читает вводные данные на соединении
  • pg_convert — Преобразовывает значения ассоциативного массива в вид, который соответствует SQL-запросам
  • pg_copy_from — Вставляет записи из массива в таблицу
  • pg_copy_to — Копирует данные из таблицы в массив
  • pg_dbname — Определяет имя базы данных
  • pg_delete — Удаляет записи
  • pg_end_copy — Синхронизирует с бэкендом PostgreSQL
  • pg_escape_bytea — Экранирует спецсимволы в строке для вставки в поле типа bytea
  • pg_escape_identifier — Экранирует идентификатор для вставки в текстовое поле
  • pg_escape_literal — Экранировать литерал при вставке в текстовое поле
  • pg_escape_string — Экранирование спецсимволов в строке запроса
  • pg_execute — Запускает выполнение ранее подготовленного параметризованного запроса и ждёт результат
  • pg_fetch_all — Выбирает все данные из результата запроса и помещает их в массив
  • pg_fetch_all_columns — Выбирает все записи из одной колонки результата запроса и помещает их в массив
  • pg_fetch_array — Возвращает строку результата в виде массива
  • pg_fetch_assoc — Выбирает строку результата запроса и помещает данные в ассоциативный массив
  • pg_fetch_object — Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result — Возвращает запись из результата запроса
  • pg_fetch_row — Выбирает строку результата запроса и помещает данные в массив
  • pg_field_is_null — Проверяет поля на значение SQL NULL
  • pg_field_name — Возвращает наименование поля
  • pg_field_num — Возвращает порядковый номер именованного поля
  • pg_field_prtlen — Возвращает количество печатаемых символов
  • pg_field_size — Возвращает размер поля
  • pg_field_table — Возвращает наименование или идентификатор таблицы, содержащей заданное поле
  • pg_field_type — Возвращает имя типа заданного поля
  • pg_field_type_oid — Возвращает идентификатор типа заданного поля
  • pg_flush — Сбросить данные исходящего запроса на соединении
  • pg_free_result — Очищает результат запроса и освобождает память
  • pg_get_notify — Получение SQL NOTIFY сообщения
  • pg_get_pid — Получает ID процесса сервера БД
  • pg_get_result — Получает результат асинхронного запроса
  • pg_host — Возвращает имя хоста, соответствующего подключению
  • pg_insert — Заносит данные массива в таблицу базы данных
  • pg_last_error — Получает сообщение о последней произошедшей ошибке на соединении с базой данных
  • pg_last_notice — Возвращает последнее уведомление от сервера PostgreSQL
  • pg_last_oid — Возвращает OID последней добавленной в базу строки
  • pg_lo_close — Закрывает большой объект
  • pg_lo_create — Создаёт большой объект
  • pg_lo_export — Вывод большого объекта в файл
  • pg_lo_import — Импортирует большой объект из файла
  • pg_lo_open — Открывает большой объект базы данных
  • pg_lo_read — Читает данные большого объекта
  • pg_lo_read_all — Читает содержимое большого объекта и посылает напрямую в браузер
  • pg_lo_seek — Перемещает внутренний указатель большого объекта
  • pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта
  • pg_lo_truncate — Обрезает большой объект
  • pg_lo_unlink — Удаление большого объекта
  • pg_lo_write — Записывает данные в большой объект
  • pg_meta_data — Получение метаданных таблицы
  • pg_num_fields — Возвращает количество полей в выборке
  • pg_num_rows — Возвращает количество строк в выборке
  • pg_options — Получение параметров соединения с сервером баз данных
  • pg_parameter_status — Просмотр текущих значений параметров сервера
  • pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL
  • pg_ping — Проверка соединения с базой данных
  • pg_port — Возвращает номер порта, соответствующий заданному соединению
  • pg_prepare — Отправляет на сервер запрос на подготовку SQL-запроса с параметрами-заполнителями и ждёт, пока завершится подготовка запроса
  • pg_put_line — Передаёт на PostgreSQL сервер строку с завершающим нулём
  • pg_query — Выполняет запрос
  • pg_query_params — Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса
  • pg_result_error — Возвращает сообщение об ошибке, связанное с запросом результата
  • pg_result_error_field — Возвращает конкретное поле из отчёта об ошибках
  • pg_result_memory_size — Возвращает объём памяти, выделенный для результата запроса
  • pg_result_seek — Смещает указатель на строку выборки в экземпляре результата запроса
  • pg_result_status — Возвращает статус результата запроса
  • pg_select — Выбирает записи из базы данных
  • pg_send_execute — Запускает предварительно подготовленный SQL-запрос и передаёт ему параметры; не ожидает возвращаемого результата
  • pg_send_prepare — Посылает запрос на создание параметризованного SQL-выражения, не дожидаясь его завершения
  • pg_send_query — Отправляет асинхронный запрос
  • pg_send_query_params — Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата
  • pg_set_chunked_rows_size — Устанавливает для подключения режим, в котором результаты запроса извлекаются частями
  • pg_set_client_encoding — Устанавливает клиентскую кодировку
  • pg_set_error_context_visibility — Определяет видимость сообщений об ошибках контекста, возвращаемых функциями pg_last_error и pg_result_error
  • pg_set_error_verbosity — Определяет объем текста сообщений, возвращаемых функциями pg_last_error и pg_result_error
  • pg_socket — Получить дескриптор только для чтения на сокет, лежащего в основе соединения PostgreSQL
  • pg_trace — Включает трассировку подключения PostgreSQL
  • pg_transaction_status — Возвращает текущее состояние транзакции на сервере
  • pg_tty — Возвращает имя терминала TTY, связанное с соединением
  • pg_unescape_bytea — Убирает экранирование двоичных данных типа bytea
  • pg_untrace — Отключает трассировку соединения с PostgreSQL
  • pg_update — Обновление данных в таблице
  • pg_version — Возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера (если доступно)
Добавить

Примечания пользователей 3 notes

up
6
Tony Murray
13 years ago
A simple conversion for 1D PostgreSQL array data:

// =====
//Example #1 (An array of IP addresses):
<?php
  $pgsqlArr = '{192.168.1.1,10.1.1.1}';

  preg_match('/^{(.*)}$/', $pgsqlArr, $matches);
  $phpArr = str_getcsv($matches[1]);

  print_r($phpArr);
}
// Output:
// Array
// (
//    [0] => 192.168.1.1
//    [1] => 10.1.1.1
// )
// =====

// =====
// Example #2 (An array of strings including spaces and commas):
<?php
  $pgsqlArr = '{string1,string2,"string,3","string 4"}';

  preg_match('/^{(.*)}$/', $pgsqlArr, $matches);
  $phpArr = str_getcsv($matches[1]);

  print_r($phpArr);
}
// Output:
// Array
// (
//    [0] => string1
//    [1] => string2
//    [2] => string,3
//    [3] => string 4
// )
// =====
up
3
abondi at ijk dot it
21 years ago
I've found another function to mimic the following mysql list tables function (http://www.php.net/manual/en/function.mysql-list-tables.php) that's more useful for my target:

function pg_list_tables() {
      $sql = "SELECT a.relname AS Name
          FROM pg_class a, pg_user b
          WHERE ( relkind = 'r') and relname !~ '^pg_' AND relname !~ '^sql_'
          AND relname !~ '^xin[vx][0-9]+' AND b.usesysid = a.relowner
          AND NOT (EXISTS (SELECT viewname FROM pg_views WHERE viewname=a.relname));";
      return(pg_query($conn, $sql));
}
up
1
daniel at bichara dot com dot br
23 years ago
Running RedHat Linux and Apache with suexec enabled you must include pgsql.so on each .php file using dl("pgsql.so") and remove "extension=pgsql.so" from php.ini, otherwise Apache (httpd) will not start.
To Top