org.postgresql
Enum PGProperty

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

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 Summary
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.
APPLICATION_NAME
          The application name (require server version >= 9.0)
ASSUME_MIN_SERVER_VERSION
          Assume the server is at least that version
AUTOSAVE
          Specifies what the driver should do if a query fails.
BINARY_TRANSFER
          Use binary format for sending and receiving data if possible.
BINARY_TRANSFER_DISABLE
          Comma separated list of types to disable binary transfer.
BINARY_TRANSFER_ENABLE
          Comma separated list of types to enable binary transfer.
CANCEL_SIGNAL_TIMEOUT
          Cancel command is sent out of band over its own connection, so cancel message can itself get stuck.
CONNECT_TIMEOUT
          The timeout value used for socket connect operations.
CURRENT_SCHEMA
          Specify the schema to be set in the search-path.
DATABASE_METADATA_CACHE_FIELDS
          Specifies the maximum number of fields to be cached per connection.
DATABASE_METADATA_CACHE_FIELDS_MIB
          Specifies the maximum number of fields to be cached per connection.
DEFAULT_ROW_FETCH_SIZE
          Default parameter for Statement.getFetchSize().
DISABLE_COLUMN_SANITISER
          Enable optimization that disables column name sanitiser.
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.
HOST_RECHECK_SECONDS
           
JAAS_APPLICATION_NAME
          Specifies the name of the JAAS system or application login configuration.
KERBEROS_SERVER_NAME
          The Kerberos service name to use when authenticating with GSSAPI.
LOAD_BALANCE_HOSTS
           
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.
LOGGER_FILE
          File name output of the Logger, if set, the Logger will use a FileHandler to write to a specified file.
LOGGER_LEVEL
          Logger level of the driver.
LOGIN_TIMEOUT
          Specify how long to wait for establishment of a database connection.
PASSWORD
          Password to use when authenticating.
PG_DBNAME
          Database name to connect to (may be specified directly in the JDBC URL)
PG_HOST
          Hostname of the PostgreSQL server (may be specified directly in the JDBC URL)
PG_PORT
          Port of the PostgreSQL server (may be specified directly in the JDBC URL)
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.
PREPARE_THRESHOLD
          Sets the default threshold for enabling server-side prepare.
PREPARED_STATEMENT_CACHE_QUERIES
          Specifies the maximum number of entries in cache of prepared statements.
PREPARED_STATEMENT_CACHE_SIZE_MIB
          Specifies the maximum size (in megabytes) of the prepared statement cache.
PROTOCOL_VERSION
          Force use of a particular protocol version when connecting, if set, disables protocol version fallback.
READ_ONLY
          Puts this connection in read-only mode.
RECEIVE_BUFFER_SIZE
          Socket read buffer size (SO_RECVBUF).
REPLICATION
          Connection parameter passed in the startup message.
REWRITE_BATCHED_INSERTS
          Configure optimization to enable batch insert re-writing.
SEND_BUFFER_SIZE
          Socket write buffer size (SO_SNDBUF).
SOCKET_FACTORY
          Socket factory used to create socket.
SOCKET_FACTORY_ARG
          The String argument to give to the constructor of the Socket Factory
SOCKET_TIMEOUT
          The timeout value used for socket read operations.
SSL
          Control use of SSL (any non-null value causes SSL to be required).
SSL_CERT
          File containing the SSL Certificate.
SSL_FACTORY
          Classname of the SSL Factory to use (instance of javax.net.ssl.SSLSocketFactory).
SSL_FACTORY_ARG
          The String argument to give to the constructor of the SSL Factory
SSL_HOSTNAME_VERIFIER
          Classname of the SSL HostnameVerifier to use (instance of javax.net.ssl.HostnameVerifier).
SSL_KEY
          File containing the SSL Key.
SSL_MODE
          Parameter governing the use of SSL.
SSL_PASSWORD
          The SSL password to use in the default CallbackHandler.
SSL_PASSWORD_CALLBACK
          The classname instantiating javax.security.auth.callback.CallbackHandler to use
SSL_ROOT_CERT
          File containing the root certificate when validating server (sslmode = verify-ca or verify-full).
SSPI_SERVICE_CLASS
          Specifies the name of the SSPI service class that forms the service class part of the SPN.
STRING_TYPE
          Bind String to either unspecified or varchar.
TARGET_SERVER_TYPE
           
TCP_KEEP_ALIVE
          Enable or disable TCP keep-alive.
UNKNOWN_LENGTH
          Specifies the length to return for types of unknown length.
USE_SPNEGO
          Use SPNEGO in SSPI authentication requests
USER
          Username to connect to the database as.
 
Method Summary
static PGProperty forName(String name)
           
 String get(Properties properties)
          Returns the value of the connection parameters according to the given Properties or the default value
 boolean getBoolean(Properties properties)
          Return the boolean value for this connection parameter in the given Properties
 String[] getChoices()
          Returns the available values for this connection parameter
 String getDefaultValue()
          Returns the default value for this connection parameter
 int getInt(Properties properties)
          Return the int value for this connection parameter in the given Properties
 Integer getInteger(Properties properties)
          Return the Integer value for this connection parameter in the given Properties
 int getIntNoCheck(Properties properties)
          Return the int value for this connection parameter in the given Properties.
 String getName()
          Returns the name of the connection parameter.
 String getSetString(Properties properties)
          Return the property if exists but avoiding the default.
 boolean isPresent(Properties properties)
          Test whether this property is present in the given Properties
 void set(Properties properties, boolean value)
          Set the boolean value for this connection parameter in the given Properties
 void set(Properties properties, int value)
          Set the int value for this connection parameter in the given Properties
 void set(Properties properties, String value)
          Set the value for this connection parameter in the given Properties
 DriverPropertyInfo toDriverPropertyInfo(Properties properties)
          Convert this connection parameter and the value read from the given Properties into a DriverPropertyInfo
static PGProperty valueOf(String name)
          Returns the enum constant of this type with the specified name.
static PGProperty[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

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)


USER

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


PASSWORD

public static final PGProperty PASSWORD
Password to use when authenticating.


PROTOCOL_VERSION

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


LOGGER_LEVEL

public static final PGProperty LOGGER_LEVEL
Logger level of the driver. Allowed values: OFF, DEBUG or TRACE.

This enable the Logger of the driver based on the following mapping of levels:

FINE -> DEBUG
FINEST -> TRACE

NOTE: The recommended approach to enable java.util.logging is using a logging.properties configuration file with the property -Djava.util.logging.config.file=myfile or if your are using an application server you should use the appropriate logging subsystem.


LOGGER_FILE

public static final PGProperty LOGGER_FILE
File name output of the Logger, if set, the Logger will use a FileHandler to write to a specified file. If the parameter is not set or the file can't be created the ConsoleHandler will be used instead.

Parameter should be use together with LOGGER_LEVEL


PREPARE_THRESHOLD

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


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.


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 number 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


BINARY_TRANSFER

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


READ_ONLY

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


BINARY_TRANSFER_ENABLE

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


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.


STRING_TYPE

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


UNKNOWN_LENGTH

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


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.


DISABLE_COLUMN_SANITISER

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


SSL

public static final PGProperty SSL
Control use of SSL (any non-null value causes SSL to be required).


SSL_MODE

public static final PGProperty SSL_MODE
Parameter governing the use of SSL. The allowed values are require, verify-ca, verify-full, or disable (allow and prefer are not implemented) If not set, the ssl property may be checked to enable SSL mode.


SSL_FACTORY

public static final PGProperty SSL_FACTORY
Classname of the SSL Factory to use (instance of javax.net.ssl.SSLSocketFactory).


SSL_FACTORY_ARG

public static final PGProperty SSL_FACTORY_ARG
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 javax.net.ssl.HostnameVerifier).


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_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_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).


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 javax.security.auth.callback.CallbackHandler to use


TCP_KEEP_ALIVE

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


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.


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.


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.


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.


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

public static final PGProperty SOCKET_FACTORY_ARG
The String argument to give to the constructor of the Socket Factory


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.


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.


ASSUME_MIN_SERVER_VERSION

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


APPLICATION_NAME

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


JAAS_APPLICATION_NAME

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


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.


USE_SPNEGO

public static final PGProperty USE_SPNEGO
Use SPNEGO in SSPI authentication requests


GSS_LIB

public static final PGProperty GSS_LIB
Force one of to be used when the server requests Kerberos or SSPI authentication.


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.


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.


CURRENT_SCHEMA

public static final PGProperty CURRENT_SCHEMA
Specify the schema to be set in the search-path. This schema will be used to resolve unqualified object names used in statements over this connection.


TARGET_SERVER_TYPE

public static final PGProperty TARGET_SERVER_TYPE

LOAD_BALANCE_HOSTS

public static final PGProperty LOAD_BALANCE_HOSTS

HOST_RECHECK_SECONDS

public static final PGProperty HOST_RECHECK_SECONDS

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)


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


REWRITE_BATCHED_INSERTS

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


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)

Method Detail

values

public static PGProperty[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (PGProperty c : PGProperty.values())
    System.out.println(c);

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 String getDefaultValue()
Returns the default value for this connection parameter

Returns:
the default value for this connection parameter or null

getChoices

public String[] getChoices()
Returns the available values for this connection parameter

Returns:
the available values for this connection parameter or null

get

public String get(Properties properties)
Returns the value of the connection parameters according to the given Properties or the default value

Parameters:
properties - properties to take actual value from
Returns:
evaluated value for this connection parameter

set

public void set(Properties properties,
                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 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 PGProperty forName(String name)

getSetString

public 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


Copyright © 2017 PostgreSQL Global Development Group. All rights reserved.