Enum PGProperty

java.lang.Object
java.lang.Enum<PGProperty>
org.postgresql.PGProperty
All Implemented Interfaces:
Serializable, Comparable<PGProperty>, java.lang.constant.Constable

public enum PGProperty extends Enum<PGProperty>
All connection parameters that can be either set in JDBC URL, in Driver properties or in datasource setters.
  • Enum Constant Details

    • ADAPTIVE_FETCH

      public static final PGProperty ADAPTIVE_FETCH
      Specifies if number of rows, used during fetching rows of a result set, should be computed dynamically. Number of rows will be calculated by dividing maxResultBuffer size by max row size observed so far, rounded down. First fetch will have number of rows declared in defaultRowFetchSize. Number of rows can be limited by adaptiveFetchMinimum and adaptiveFetchMaximum. Requires declaring of maxResultBuffer and defaultRowFetchSize to work. Default value is false.
    • ADAPTIVE_FETCH_MAXIMUM

      public static final PGProperty ADAPTIVE_FETCH_MAXIMUM
      Specifies the highest number of rows which can be calculated by adaptiveFetch. Requires adaptiveFetch set to true to work. Default value is -1 (used as infinity).
    • ADAPTIVE_FETCH_MINIMUM

      public static final PGProperty ADAPTIVE_FETCH_MINIMUM
      Specifies the lowest number of rows which can be calculated by adaptiveFetch. Requires adaptiveFetch set to true to work. Default value is 0.
    • ALLOW_ENCODING_CHANGES

      public static final PGProperty ALLOW_ENCODING_CHANGES
      When using the V3 protocol the driver monitors changes in certain server configuration parameters that should not be touched by end users. The client_encoding setting is set by the driver and should not be altered. If the driver detects a change it will abort the connection.
    • APPLICATION_NAME

      public static final PGProperty APPLICATION_NAME
      The application name (require server version >= 9.0).
    • ASSUME_MIN_SERVER_VERSION

      public static final PGProperty ASSUME_MIN_SERVER_VERSION
      Assume the server is at least that version.
    • AUTHENTICATION_PLUGIN_CLASS_NAME

      public static final PGProperty AUTHENTICATION_PLUGIN_CLASS_NAME
      AuthenticationPluginClass
    • AUTOSAVE

      public static final PGProperty AUTOSAVE
      Specifies what the driver should do if a query fails. In autosave=always mode, JDBC driver sets a savepoint before each query, and rolls back to that savepoint in case of failure. In autosave=never mode (default), no savepoint dance is made ever. In autosave=conservative mode, savepoint is set for each query, however the rollback is done only for rare cases like 'cached statement cannot change return type' or 'statement XXX is not valid' so JDBC driver rollsback and retries
    • BINARY_TRANSFER

      public static final PGProperty BINARY_TRANSFER
      Use binary format for sending and receiving data if possible.
    • BINARY_TRANSFER_DISABLE

      public static final PGProperty BINARY_TRANSFER_DISABLE
      Comma separated list of types to disable binary transfer. Either OID numbers or names. Overrides values in the driver default set and values set with binaryTransferEnable.
    • BINARY_TRANSFER_ENABLE

      public static final PGProperty BINARY_TRANSFER_ENABLE
      Comma separated list of types to enable binary transfer. Either OID numbers or names
    • CANCEL_SIGNAL_TIMEOUT

      public static final PGProperty CANCEL_SIGNAL_TIMEOUT
      Cancel command is sent out of band over its own connection, so cancel message can itself get stuck. This property controls "connect timeout" and "socket timeout" used for cancel commands. The timeout is specified in seconds. Default value is 10 seconds.
    • CLEANUP_SAVEPOINTS

      public static final PGProperty CLEANUP_SAVEPOINTS
      Determine whether SAVEPOINTS used in AUTOSAVE will be released per query or not
    • CONNECT_TIMEOUT

      public static final PGProperty CONNECT_TIMEOUT

      The timeout value used for socket connect operations. If connecting to the server takes longer than this value, the connection is broken.

      The timeout is specified in seconds and a value of zero means that it is disabled.

    • CURRENT_SCHEMA

      public static final PGProperty CURRENT_SCHEMA
      Specify the schema (or several schema separated by commas) to be set in the search-path. This schema will be used to resolve unqualified object names used in statements over this connection.
    • DATABASE_METADATA_CACHE_FIELDS

      public static final PGProperty DATABASE_METADATA_CACHE_FIELDS
      Specifies the maximum number of fields to be cached per connection. A value of 0 disables the cache.
    • DATABASE_METADATA_CACHE_FIELDS_MIB

      public static final PGProperty DATABASE_METADATA_CACHE_FIELDS_MIB
      Specifies the maximum size (in megabytes) of fields to be cached per connection. A value of 0 disables the cache.
    • DEFAULT_ROW_FETCH_SIZE

      public static final PGProperty DEFAULT_ROW_FETCH_SIZE
      Default parameter for Statement.getFetchSize(). A value of 0 means that need fetch all rows at once
    • DISABLE_COLUMN_SANITISER

      public static final PGProperty DISABLE_COLUMN_SANITISER
      Enable optimization that disables column name sanitiser.
    • ESCAPE_SYNTAX_CALL_MODE

      public static final PGProperty ESCAPE_SYNTAX_CALL_MODE
      Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11) In escapeSyntaxCallMode=select mode (the default), the driver always uses a SELECT statement (allowing function invocation only). In escapeSyntaxCallMode=callIfNoReturn mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement. In escapeSyntaxCallMode=call mode, the driver always uses a CALL statement (allowing procedure invocation only).
    • GROUP_STARTUP_PARAMETERS

      public static final PGProperty GROUP_STARTUP_PARAMETERS
      Group startup parameters in a transaction This is important in pool-by-transaction scenarios in order to make sure that all the statements reaches the same connection that is being initialized. All of the startup parameters will be wrapped in a transaction Note this is off by default as pgbouncer in statement mode
    • GSS_ENC_MODE

      public static final PGProperty GSS_ENC_MODE
    • GSS_LIB

      public static final PGProperty GSS_LIB
      Force one of
      • SSPI (Windows transparent single-sign-on)
      • GSSAPI (Kerberos, via JSSE)
      to be used when the server requests Kerberos or SSPI authentication.
    • GSS_RESPONSE_TIMEOUT

      public static final PGProperty GSS_RESPONSE_TIMEOUT

      After requesting an upgrade to SSL from the server there are reports of the server not responding due to a failover without a timeout here, the client can wait forever. The pattern for requesting a GSS encrypted connection is the same so we provide the same timeout mechanism This timeout will be set before the request and reset after

    • HIDE_UNPRIVILEGED_OBJECTS

      public static final PGProperty HIDE_UNPRIVILEGED_OBJECTS
      Enable mode to filter out the names of database objects for which the current user has no privileges granted from appearing in the DatabaseMetaData returned by the driver.
    • HOST_RECHECK_SECONDS

      public static final PGProperty HOST_RECHECK_SECONDS
    • JAAS_APPLICATION_NAME

      public static final PGProperty JAAS_APPLICATION_NAME
      Specifies the name of the JAAS system or application login configuration.
    • JAAS_LOGIN

      public static final PGProperty JAAS_LOGIN
      Flag to enable/disable obtaining a GSS credential via JAAS login before authenticating. Useful if setting system property javax.security.auth.useSubjectCredsOnly=false or using native GSS with system property sun.security.jgss.native=true
    • KERBEROS_SERVER_NAME

      public static final PGProperty KERBEROS_SERVER_NAME
      The Kerberos service name to use when authenticating with GSSAPI. This is equivalent to libpq's PGKRBSRVNAME environment variable.
    • LOAD_BALANCE_HOSTS

      public static final PGProperty LOAD_BALANCE_HOSTS
    • LOCAL_SOCKET_ADDRESS

      public static final PGProperty LOCAL_SOCKET_ADDRESS

      If this is set then the client side will bind to this address. This is useful if you need to choose which interface to connect to.

    • LOGGER_FILE

      @Deprecated public static final PGProperty LOGGER_FILE
      Deprecated.
      Logging is configured via java.util.logging.
      This property is no longer used by the driver and will be ignored.
    • LOGGER_LEVEL

      @Deprecated public static final PGProperty LOGGER_LEVEL
      Deprecated.
      Logging is configured via java.util.logging.
      This property is no longer used by the driver and will be ignored.
    • LOGIN_TIMEOUT

      public static final PGProperty LOGIN_TIMEOUT
      Specify how long to wait for establishment of a database connection. The timeout is specified in seconds.
    • LOG_SERVER_ERROR_DETAIL

      public static final PGProperty LOG_SERVER_ERROR_DETAIL
      Whether to include full server error detail in exception messages.
    • LOG_UNCLOSED_CONNECTIONS

      public static final PGProperty LOG_UNCLOSED_CONNECTIONS
      When connections that are not explicitly closed are garbage collected, log the stacktrace from the opening of the connection to trace the leak source.
    • MAX_RESULT_BUFFER

      public static final PGProperty MAX_RESULT_BUFFER
      Specifies size of buffer during fetching result set. Can be specified as specified size or percent of heap memory.
    • OPTIONS

      public static final PGProperty OPTIONS
      Specify 'options' connection initialization parameter. The value of this parameter may contain spaces and other special characters or their URL representation.
    • PASSWORD

      public static final PGProperty PASSWORD
      Password to use when authenticating.
    • PG_DBNAME

      public static final PGProperty PG_DBNAME
      Database name to connect to (may be specified directly in the JDBC URL).
    • PG_HOST

      public static final PGProperty PG_HOST
      Hostname of the PostgreSQL server (may be specified directly in the JDBC URL).
    • PG_PORT

      public static final PGProperty PG_PORT
      Port of the PostgreSQL server (may be specified directly in the JDBC URL).
    • PREFER_QUERY_MODE

      public static final PGProperty PREFER_QUERY_MODE

      Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only, extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache.

      This mode is meant for debugging purposes and/or for cases when extended protocol cannot be used (e.g. logical replication protocol)

    • PREPARED_STATEMENT_CACHE_QUERIES

      public static final PGProperty PREPARED_STATEMENT_CACHE_QUERIES
      Specifies the maximum number of entries in cache of prepared statements. A value of 0 disables the cache.
    • PREPARED_STATEMENT_CACHE_SIZE_MIB

      public static final PGProperty PREPARED_STATEMENT_CACHE_SIZE_MIB
      Specifies the maximum size (in megabytes) of the prepared statement cache. A value of 0 disables the cache.
    • PREPARE_THRESHOLD

      public static final PGProperty PREPARE_THRESHOLD
      Sets the default threshold for enabling server-side prepare. A value of -1 stands for forceBinary
    • PROTOCOL_VERSION

      public static final PGProperty PROTOCOL_VERSION
      Force use of a particular protocol version when connecting, if set, disables protocol version fallback.
    • QUOTE_RETURNING_IDENTIFIERS

      public static final PGProperty QUOTE_RETURNING_IDENTIFIERS
      Quote returning columns. There are some ORM's that quote everything, including returning columns If we quote them, then we end up sending ""colname"" to the backend which will not be found
    • READ_ONLY

      public static final PGProperty READ_ONLY
      Puts this connection in read-only mode.
    • READ_ONLY_MODE

      public static final PGProperty READ_ONLY_MODE
      Connection parameter to control behavior when Connection.setReadOnly(boolean) is set to true.
    • RECEIVE_BUFFER_SIZE

      public static final PGProperty RECEIVE_BUFFER_SIZE
      Socket read buffer size (SO_RECVBUF). A value of -1, which is the default, means system default.
    • REPLICATION

      public static final PGProperty REPLICATION

      Connection parameter passed in the startup message. This parameter accepts two values; "true" and "database". Passing "true" tells the backend to go into walsender mode, wherein a small set of replication commands can be issued instead of SQL statements. Only the simple query protocol can be used in walsender mode. Passing "database" as the value instructs walsender to connect to the database specified in the dbname parameter, which will allow the connection to be used for logical replication from that database.

      Parameter should be use together with ASSUME_MIN_SERVER_VERSION with parameter >= 9.4 (backend >= 9.4)

    • REWRITE_BATCHED_INSERTS

      public static final PGProperty REWRITE_BATCHED_INSERTS
      Configure optimization to enable batch insert re-writing.
    • SEND_BUFFER_SIZE

      public static final PGProperty SEND_BUFFER_SIZE
      Socket write buffer size (SO_SNDBUF). A value of -1, which is the default, means system default.
    • SERVICE

      public static final PGProperty SERVICE
      Service name to use for additional parameters. It specifies a service name in "pg_service .conf" that holds additional connection parameters. This allows applications to specify only a service name so connection parameters can be centrally maintained.
    • SOCKET_FACTORY

      public static final PGProperty SOCKET_FACTORY
      Socket factory used to create socket. A null value, which is the default, means system default.
    • SOCKET_FACTORY_ARG

      @Deprecated public static final PGProperty SOCKET_FACTORY_ARG
      Deprecated.
      use ..Factory(Properties) constructor.
      The String argument to give to the constructor of the Socket Factory.
    • SOCKET_TIMEOUT

      public static final PGProperty SOCKET_TIMEOUT
      The timeout value used for socket read operations. If reading from the server takes longer than this value, the connection is closed. This can be used as both a brute force global query timeout and a method of detecting network problems. The timeout is specified in seconds and a value of zero means that it is disabled.
    • SSL

      public static final PGProperty SSL
      Control use of SSL: empty or true values imply sslmode==verify-full
    • SSL_CERT

      public static final PGProperty SSL_CERT
      File containing the SSL Certificate. Default will be the file postgresql.crt in $HOME/.postgresql (*nix) or %APPDATA%\postgresql (windows).
    • SSL_FACTORY

      public static final PGProperty SSL_FACTORY
      Classname of the SSL Factory to use (instance of SSLSocketFactory).
    • SSL_FACTORY_ARG

      @Deprecated public static final PGProperty SSL_FACTORY_ARG
      Deprecated.
      use ..Factory(Properties) constructor.
      The String argument to give to the constructor of the SSL Factory.
    • SSL_HOSTNAME_VERIFIER

      public static final PGProperty SSL_HOSTNAME_VERIFIER
      Classname of the SSL HostnameVerifier to use (instance of HostnameVerifier).
    • SSL_KEY

      public static final PGProperty SSL_KEY
      File containing the SSL Key. Default will be the file postgresql.pk8 in $HOME/.postgresql (*nix) or %APPDATA%\postgresql (windows).
    • SSL_MODE

      public static final PGProperty SSL_MODE
      Parameter governing the use of SSL. The allowed values are disable, allow, prefer, require, verify-ca, verify-full. If ssl property is empty or set to true it implies verify-full. Default mode is "require"
    • SSL_PASSWORD

      public static final PGProperty SSL_PASSWORD
      The SSL password to use in the default CallbackHandler.
    • SSL_PASSWORD_CALLBACK

      public static final PGProperty SSL_PASSWORD_CALLBACK
      The classname instantiating CallbackHandler to use.
    • SSL_RESPONSE_TIMEOUT

      public static final PGProperty SSL_RESPONSE_TIMEOUT

      After requesting an upgrade to SSL from the server there are reports of the server not responding due to a failover without a timeout here, the client can wait forever. This timeout will be set before the request and reset after

    • SSL_ROOT_CERT

      public static final PGProperty SSL_ROOT_CERT
      File containing the root certificate when validating server (sslmode = verify-ca or verify-full). Default will be the file root.crt in $HOME/.postgresql (*nix) or %APPDATA%\postgresql (windows).
    • SSPI_SERVICE_CLASS

      public static final PGProperty SSPI_SERVICE_CLASS
      Specifies the name of the SSPI service class that forms the service class part of the SPN. The default, POSTGRES, is almost always correct.
    • STRING_TYPE

      public static final PGProperty STRING_TYPE
      Bind String to either unspecified or varchar. Default is varchar for 8.0+ backends.
    • TARGET_SERVER_TYPE

      public static final PGProperty TARGET_SERVER_TYPE
    • TCP_KEEP_ALIVE

      public static final PGProperty TCP_KEEP_ALIVE
      Enable or disable TCP keep-alive. The default is false.
    • TCP_NO_DELAY

      public static final PGProperty TCP_NO_DELAY
    • UNKNOWN_LENGTH

      public static final PGProperty UNKNOWN_LENGTH
      Specifies the length to return for types of unknown length.
    • USER

      public static final PGProperty USER
      Username to connect to the database as.
    • USE_SPNEGO

      public static final PGProperty USE_SPNEGO
      Use SPNEGO in SSPI authentication requests.
    • XML_FACTORY_FACTORY

      public static final PGProperty XML_FACTORY_FACTORY
      Factory class to instantiate factories for XML processing. The default factory disables external entity processing. Legacy behavior with external entity processing can be enabled by specifying a value of LEGACY_INSECURE. Or specify a custom class that implements PGXmlFactoryFactory.
  • Method Details

    • values

      public static PGProperty[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static PGProperty valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getName

      public String getName()
      Returns the name of the connection parameter. The name is the key that must be used in JDBC URL or in Driver properties
      Returns:
      the name of the connection parameter
    • getDefaultValue

      public @Nullable String getDefaultValue()
      Returns the default value for this connection parameter.
      Returns:
      the default value for this connection parameter or null
    • isRequired

      public boolean isRequired()
      Returns whether this parameter is required.
      Returns:
      whether this parameter is required
    • getDescription

      public String getDescription()
      Returns the description for this connection parameter.
      Returns:
      the description for this connection parameter
    • getChoices

      public String @Nullable [] getChoices()
      Returns the available values for this connection parameter.
      Returns:
      the available values for this connection parameter or null
    • getOrDefault

      public @Nullable String getOrDefault(Properties properties)
      Returns the value of the connection parameter from the given Properties or the default value.
      Parameters:
      properties - properties to take actual value from
      Returns:
      evaluated value for this connection parameter
    • get

      @Deprecated public @Nullable String get(Properties properties)
      Deprecated.
      Returns the value of the connection parameter from the given Properties or the default value
      Parameters:
      properties - properties to take actual value from
      Returns:
      evaluated value for this connection parameter or null
    • getOrNull

      public @Nullable String getOrNull(Properties properties)
      Returns the value of the connection parameter from the given Properties or null if there is no default value
      Parameters:
      properties - properties object to get value from
      Returns:
      evaluated value for this connection parameter
    • set

      public void set(Properties properties, @Nullable String value)
      Set the value for this connection parameter in the given Properties.
      Parameters:
      properties - properties in which the value should be set
      value - value for this connection parameter
    • getBoolean

      public boolean getBoolean(Properties properties)
      Return the boolean value for this connection parameter in the given Properties.
      Parameters:
      properties - properties to take actual value from
      Returns:
      evaluated value for this connection parameter converted to boolean
    • getIntNoCheck

      public int getIntNoCheck(Properties properties)
      Return the int value for this connection parameter in the given Properties. Prefer the use of getInt(Properties) anywhere you can throw an SQLException.
      Parameters:
      properties - properties to take actual value from
      Returns:
      evaluated value for this connection parameter converted to int
      Throws:
      NumberFormatException - if it cannot be converted to int.
    • getInt

      public int getInt(Properties properties) throws PSQLException
      Return the int value for this connection parameter in the given Properties.
      Parameters:
      properties - properties to take actual value from
      Returns:
      evaluated value for this connection parameter converted to int
      Throws:
      PSQLException - if it cannot be converted to int.
    • getInteger

      public @Nullable Integer getInteger(Properties properties) throws PSQLException
      Return the Integer value for this connection parameter in the given Properties.
      Parameters:
      properties - properties to take actual value from
      Returns:
      evaluated value for this connection parameter converted to Integer or null
      Throws:
      PSQLException - if unable to parse property as integer
    • set

      public void set(Properties properties, boolean value)
      Set the boolean value for this connection parameter in the given Properties.
      Parameters:
      properties - properties in which the value should be set
      value - boolean value for this connection parameter
    • set

      public void set(Properties properties, int value)
      Set the int value for this connection parameter in the given Properties.
      Parameters:
      properties - properties in which the value should be set
      value - int value for this connection parameter
    • isPresent

      public boolean isPresent(Properties properties)
      Test whether this property is present in the given Properties.
      Parameters:
      properties - set of properties to check current in
      Returns:
      true if the parameter is specified in the given properties
    • toDriverPropertyInfo

      public DriverPropertyInfo toDriverPropertyInfo(Properties properties)
      Convert this connection parameter and the value read from the given Properties into a DriverPropertyInfo.
      Parameters:
      properties - properties to take actual value from
      Returns:
      a DriverPropertyInfo representing this connection parameter
    • forName

      public static @Nullable PGProperty forName(String name)
    • getSetString

      public @Nullable String getSetString(Properties properties)
      Return the property if exists but avoiding the default. Allowing the caller to detect the lack of a property.
      Parameters:
      properties - properties bundle
      Returns:
      the value of a set property