2015-04-28 3 views
0

С postgres documentation,Как параметр client_min_messages влияет на приложение, использующее libpq?

client_min_messages (перечисления)

управления, какие уровни сообщений посылаются клиенту. Допустимыми значениями являются DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, WARNING, ERROR, FATAL и PANIC. Каждый уровень включает все уровни, которые следуют за ним. Чем позже уровень, тем меньше сообщений отправляется. По умолчанию используется УВЕДОМЛЕНИЕ. Обратите внимание, что LOG имеет другой ранг здесь, чем в log_min_messages.

Я предполагаю, что эти messages не то же самое, как results (PQResult) команд, выполняемых. Если да, то как читать эти сообщения через libpq? Было ли влияние этих messages на производительность приложения?

ответ

1

Сообщения отправляются как другой тип сообщения в PostgreSQL-протокол, обычно чередующийся с результирующим потоком. libpq видит их и выбирает, а затем добавляет их в очередь уведомлений, которые вы можете проверить.

См. the manual.

+0

Итак, если кто-то никогда не будет обрабатывать эти «уведомления», могут ли они быть отключены? Приложение, которое я сейчас создаю, просто выполняет некоторые операторы SQL, а затем проверяет ошибку в возвращенном 'PQResult'. – svr

+0

@svr Вот почему существует параметр 'client_min_messages'. Установите yo 'error', и вы не получите уведомления, а только ошибки, которые приведут к остановке запроса и прекращению транзакции. –