×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

4.1.11. Функции управления

Данные функции управляют различными деталями libpqповедение .

PQclientEncoding #

Данная функция возвращает клиентскую кодировку.

int PQclientEncoding(const PGconn *объект conn);

Обратите внимание, что функция возвращает идентификатор кодировки, а не символьную строку, такую как EUC_JP. В случае ошибки функция возвращает -1. Для преобразования идентификатора кодировки в её имя можно использовать функцию:

char *pg_encoding_to_char(int encoding_id);

PQsetClientEncoding #

Данная функция устанавливает клиентскую кодировку.

int PQsetClientEncoding(PGconn *объект conn, const char *encoding);

объект conn представляет собой соединение с сервером, а encoding — это кодировка, которую требуется использовать. Если функция успешно устанавливает кодировку, она возвращает 0, в противном случае — -1. Текущую кодировку для данного соединения можно определить, используя функцию PQclientEncoding.

PQsetErrorVerbosity #

Определяет степень детализации сообщений, возвращаемых функцией PQerrorMessage и PQresultErrorMessage.

typedef enum
{
    PQERRORS_TERSE,
    PQERRORS_DEFAULT,
    PQERRORS_VERBOSE,
    PQERRORS_SQLSTATE
} PGVerbosity;

PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity);

PQsetErrorVerbosity устанавливает режим детализации, возвращая предыдущее значение настройки соединения. В TERSE режиме возвращаемые сообщения включают только уровень серьезности, основной текст и позицию; обычно такие данные умещаются в одну строку. В DEFAULT режиме формируются сообщения, включающие вышеуказанные сведения, а также любые поля с подробностями, подсказками или контекстом (они могут занимать несколько строк). В VERBOSE режим включает все доступные поля. SQLSTATE режим включает в себя только степень серьезности и SQLSTATE код ошибки, если он доступен (в противном случае вывод будет таким же, как в режиме TERSE mode).

Изменение настройки детализации не влияет на сообщения, полученные от уже существующих PGresult объекты, а только созданные впоследствии. (Однако см. PQresultVerboseErrorMessage если требуется вывести предыдущую ошибку с иным уровнем детализации.)

PQsetErrorContextVisibility #

Определяет способ обработки полей CONTEXT поля в сообщениях, возвращаемых PQerrorMessage и PQresultErrorMessage.

typedef enum
{
    PQSHOW_CONTEXT_NEVER,
    PQSHOW_CONTEXT_ERRORS,
    PQSHOW_CONTEXT_ALWAYS
} PGContextVisibility;

PGContextVisibility PQsetErrorContextVisibility(PGconn *conn, PGContextVisibility show_context);

PQsetErrorContextVisibility устанавливает режим отображения контекста и возвращает предыдущее значение настройки соединения. Данный режим определяет, будет ли CONTEXT поле включено в сообщения. Параметр NEVER режим никогда не включает CONTEXT, в то время как ALWAYS всегда включает его при наличии. В ERRORS режиме (по умолчанию), CONTEXT поля включаются только в сообщения об ошибках, а не в уведомления и предупреждения. (Однако если параметр детализации имеет значение TERSE или SQLSTATE, CONTEXT поля опускаются независимо от режима отображения контекста.)

Изменение этого режима не влияет на сообщения, доступные из уже существующих PGresult объекты, а только созданные впоследствии. (Однако см. PQresultVerboseErrorMessage если требуется вывести текст предыдущей ошибки в другом режиме отображения.)

PQtrace #

Включает трассировку взаимодействия между клиентом и сервером в поток отладочного файла.

void PQtrace(PGconn *conn, FILE *stream);

Каждая строка состоит из: необязательной метки времени, индикатора направления (F для сообщений от клиента к серверу или B для сообщений от сервера клиенту), длина сообщения, тип сообщения и содержимое сообщения. Поля, не относящиеся к содержимому сообщения (метка времени, направление, длина и тип сообщения), разделяются символом табуляции. Элементы содержимого сообщения разделяются пробелом. Строки протокола заключаются в двойные кавычки, тогда как строки, используемые в качестве значений данных, — в одинарные. Непечатные символы выводятся в виде шестнадцатеричных escape-последовательностей. Более подробные сведения о конкретных типах сообщений приведены в Раздел 7.4.7.

Примечание

В операционной системе Windows, если libpq библиотека и приложение скомпилированы с разными флагами, вызов данной функции приведет к аварийному завершению приложения, так как внутреннее представление FILE указателей различается. В частности, флаги использования многопоточности (multithreaded/single-threaded), типа сборки (release/debug) и типа компоновки (static/dynamic) должны быть идентичными для библиотеки и всех использующих её приложений.

PQsetTraceFlags #

Управляет поведением трассировки при взаимодействии клиента и сервера.

void PQsetTraceFlags(PGconn *conn, int flags);

flags содержит битовые флаги, описывающие режим работы трассировки. Если параметр flags содержит PQTRACE_SUPPRESS_TIMESTAMPS, то метка времени не будет включаться при выводе сообщений. Если параметр flags содержит PQTRACE_REGRESS_MODE, то при выводе сообщений некоторые поля будут скрыты (например, типы Oid объектов), чтобы сделать результат более удобным для использования в средах тестирования. Данную функцию необходимо вызывать после функции PQtrace.

PQuntrace #

Отключает трассировку, запущенную функцией PQtrace.

void PQuntrace(PGconn *conn);

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению