Параметры конфигурации PL/Java

Документ описывает параметры конфигурации в категории PL/Java.

Примечание!
Для обеспечения стабильности и безопасности системы вручную изменять эти параметры следует с осторожностью.

pljava_classpath


Список файлов JAR или каталогов, содержащих необходимые для функций PL/Java JAR-файлы, разделённых двоеточием (:).

  • Для файлов JAR или каталогов необходимо указывать полные пути, за исключением JAR-файлов, расположенных в каталоге $GPHOME/lib/postgresql/java, пути к которым можно опустить.
    JAR-файлы должны быть установлены в одинаковом расположении на всех хостах YMatrix и должны быть доступны для чтения пользователем mxadmin.
  • Параметр pljava_classpath используется для формирования classpath PL/Java в начале каждой сессии пользователя.
    JAR-файлы, добавленные после запуска сессии, в этой сессии недоступны.
  • Если в pljava_classpath указан полный путь к файлу JAR, он будет добавлен в classpath PL/Java.
  • При указании каталога все JAR-файлы внутри этого каталога добавляются в classpath PL/Java.
  • Подкаталоги указанного каталога не просматриваются.
  • Если имя JAR-файла указано в pljava_classpath без пути, этот файл должен находиться в каталоге $GPHOME/lib/postgresql/java.
  • Примечание: Производительность может снижаться при большом количестве просматриваемых каталогов или при наличии большого числа JAR-файлов.
  • Если pljava_classpath_insecure установлен в false, установка параметра pljava_classpath требует прав суперпользователя.
  • При выполнении кода пользователями, не являющимися суперпользователями, попытки установки classpath внутри SQL-кода завершатся ошибкой.
Тип данных Значение по умолчанию Классификация установки
string master; session; reload; superuser

pljava_classpath_insecure


Определяет, может ли параметр конфигурации сервера pljava_classpath устанавливаться пользователями, не имеющими прав суперпользователя базы данных YMatrix.

  • Если установлено в true, pljava_classpath может устанавливаться обычными пользователями. В противном случае pljava_classpath может устанавливаться только суперпользователем базы данных.

Примечание!
Включение этого параметра позволяет неадминистративным пользователям базы данных выполнять неавторизованные Java-методы, что создаёт потенциальные риски безопасности.

Тип данных Значение по умолчанию Классификация установки
boolean false master; session; restart; superuser

pljava_release_lingering_savepoints


Если установлено в true, оставшиеся savepoints, используемые в функциях PL/Java, освобождаются при выходе из функции.
Если установлено в false, savepoints откатываются.

Тип данных Значение по умолчанию Классификация установки
boolean false master; system; restart; superuser

pljava_statement_cache_size


Задаёт размер (в КБ) кэша JRE MRU (наиболее часто используемых) для подготовленных операторов.

Тип данных Значение по умолчанию Допустимый диапазон Классификация установки
int 0 0 ~ 512 master; system; restart; superuser

pljava_vmoptions


Определяет параметры запуска Java VM.

Тип данных Значение по умолчанию Классификация установки
string master; system; reload; superuser