PL/Java Configuration Parameters

This document describes the configuration parameters in the PL/Java category.

Note!
To ensure system stability and security, manually modifying these parameters should be done with caution.

pljava_classpath


A colon-separated (:) list of JAR files or directories containing the JAR files required by PL/Java functions.

  • Full paths must be specified for JAR files or directories, except for JAR files located in the $GPHOME/lib/postgresql/java directory, whose paths can be omitted.
    JAR files must be installed at the same location on all YMatrix hosts and must be readable by the mxadmin user.
  • The pljava_classpath parameter is used to assemble the PL/Java classpath at the beginning of each user session.
    JAR files added after session startup are not available in that session.
  • If a full path to a JAR file is specified in pljava_classpath, it will be added to the PL/Java classpath.
  • When a directory is specified, all JAR files within that directory are added to the PL/Java classpath.
  • Subdirectories of the specified directory are not searched.
  • If a JAR file name is listed in pljava_classpath without a path, the JAR file must reside under the $GPHOME/lib/postgresql/java directory.
  • Note: Performance may degrade if many directories are searched or if there are a large number of JAR files.
  • If pljava_classpath_insecure is set to false, setting the pljava_classpath parameter requires superuser privileges.
  • When non-superusers execute code, attempts to set the classpath within SQL code will fail.
Data Type Default Value Setting Classification
string master; session; reload; superuser

pljava_classpath_insecure


Controls whether the server configuration parameter pljava_classpath can be set by users who do not have YMatrix database superuser privileges.

  • If set to true, pljava_classpath can be set by regular users. Otherwise, pljava_classpath can only be set by a database superuser.

Note!
Enabling this parameter allows non-administrative database users to run unauthorized Java methods, introducing potential security risks.

Data Type Default Value Setting Classification
boolean false master; session; restart; superuser

pljava_release_lingering_savepoints


If set to true, lingering savepoints used in PL/Java functions are released when the function exits.
If set to false, the savepoints are rolled back instead.

Data Type Default Value Setting Classification
boolean false master; system; restart; superuser

pljava_statement_cache_size


Sets the size (in KB) of the JRE MRU (most recently used) cache for prepared statements.

Data Type Default Value Valid Range Setting Classification
int 0 0 ~ 512 master; system; restart; superuser

pljava_vmoptions


Defines startup options for the Java VM.

Data Type Default Value Setting Classification
string master; system; reload; superuser