Документация по PostgreSQL 9.4.1 | |||
---|---|---|---|
Пред. | Уровень выше | Глава 43. PL/Python — процедурный язык Python | След. |
43.9. Вспомогательные функции
Модуль plpy также предоставляет функции plpy.debug(сообщение), plpy.log(сообщение), plpy.info(сообщение), plpy.notice(сообщение), plpy.warning(сообщение), plpy.error(сообщение) и plpy.fatal(сообщение). Функции plpy.error
и plpy.fatal
на самом деле выдают исключение Python, которое, если его не перехватить, распространяется в вызывающий запрос, что приводит к прерыванию текущей транзакции или подтранзакции. Команды raise plpy.Error(сообщение) и raise plpy.Fatal(сообщение) равнозначны вызовам plpy.error
и plpy.fatal
, соответственно. Остальные функции просто выдают сообщения разных уровней важности. Будут ли сообщения определённого уровня передаваться клиентам и/или записываться в журнал, определяется конфигурационными параметрами log_min_messages и client_min_messages. За дополнительными сведениями обратитесь к Главе 18.
Ещё один набор вспомогательных функций образуют plpy.quote_literal(строка), plpy.quote_nullable(строка) и plpy.quote_ident(строка). Они равнозначны встроенным функциям заключения в кавычки, описанным в Разделе 9.4. Они полезны при конструировании свободно составляемых запросов. На PL/Python динамический SQL, показанный в Примере 40-1, формируется так:
plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % ( plpy.quote_ident(colname), plpy.quote_nullable(newvalue), plpy.quote_literal(keyvalue)))
Пред. | Начало | След. |
Неявные подтранзакции | Уровень выше | Переменные окружения |