Package org.postgresql.ds.common

# Class BaseDataSource

java.lang.Object
org.postgresql.ds.common.BaseDataSource

All Implemented Interfaces:
  `Referenceable`, `CommonDataSource`

Direct Known Subclasses:
  `PGConnectionPoolDataSource`, `PGPoolingDataSource`, `PGSimpleDataSource`, `PGXADataSource`

public abstract class BaseDataSource extends Object implements CommonDataSource, Referenceable
Base class for data sources and related classes.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseDataSource()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Reference`
  `createReference()`
  Generates a reference using the appropriate object factory.
  `boolean`
  `getAdaptiveFetch()`
  `int`
  `getAdaptiveFetchMaximum()`
  `int`
  `getAdaptiveFetchMinimum()`
  `boolean`
  `getAllowEncodingChanges()`
  `String`
  `getApplicationName()`
  `@Nullable String`
  `getAssumeMinServerVersion()`
  `@Nullable String`
  `getAuthenticationPluginClassName()`
  `AutoSave`
  `getAutosave()`
  `boolean`
  `getBinaryTransfer()`
  `String`
  `getBinaryTransferDisable()`
  `String`
  `getBinaryTransferEnable()`
  `int`
  `getCancelSignalTimeout()`
  `@Nullable String`
  `getChannelBinding()`
  `boolean`
  `getCleanupSavepoints()`
  see PGProperty#CLEANUP_SAVEPOINTS
  `Connection`
  `getConnection()`
  Gets a connection to the PostgreSQL database.
  `Connection`
  `getConnection(@Nullable String user, @Nullable String password)`
  Gets a connection to the PostgreSQL database.
  `int`
  `getConnectTimeout()`
  `@Nullable String`
  `getCurrentSchema()`
  `int`
  `getDatabaseMetadataCacheFields()`
  `int`
  `getDatabaseMetadataCacheFieldsMiB()`
  `@Nullable String`
  `getDatabaseName()`
  Gets the name of the PostgreSQL database, running on the server identified by the serverName property.
  `int`
  `getDefaultRowFetchSize()`
  `abstract String`
  `getDescription()`
  Gets a description of this DataSource-ish thing.
  `boolean`
  `getDisableColumnSanitiser()`
  `String`
  `getEscapeSyntaxCallMode()`
  `boolean`
  `getGroupStartupParameters()`
  Deprecated.
  since we can send the startup parameters as a multistatment transaction
  `String`
  `getGssEncMode()`
  `@Nullable String`
  `getGssLib()`
  `int`
  `getGssResponseTimeout()`
  `boolean`
  `getGssUseDefaultCreds()`
  `boolean`
  `getHideUnprivilegedObjects()`
  `int`
  `getHostRecheckSeconds()`
  `@Nullable String`
  `getJaasApplicationName()`
  `boolean`
  `getJaasLogin()`
  `@Nullable String`
  `getKerberosServerName()`
  `boolean`
  `getLoadBalanceHosts()`
  `@Nullable String`
  `getLocalSocketAddress()`
  `@Nullable String`
  `getLoggerFile()`
  Deprecated.
  Configure via java.util.logging
  `@Nullable String`
  `getLoggerLevel()`
  Deprecated.
  Configure via java.util.logging
  `int`
  `getLoginTimeout()`
  `boolean`
  `getLogServerErrorDetail()`
  `boolean`
  `getLogUnclosedConnections()`
  `@Nullable PrintWriter`
  `getLogWriter()`
  This implementation don't use a LogWriter.
  `@Nullable String`
  `getMaxResultBuffer()`
  `int`
  `getMaxSendBufferSize()`
  `@Nullable String`
  `getOptions()`
  `Logger`
  `getParentLogger()`
  `@Nullable String`
  `getPassword()`
  Gets the password to connect with by default.
  `int`
  `getPortNumber()`
  Deprecated.
  use `getPortNumbers()`
  `int[]`
  `getPortNumbers()`
  Gets the port(s) which the PostgreSQL server is listening on for TCP/IP connections.
  `PreferQueryMode`
  `getPreferQueryMode()`
  `int`
  `getPreparedStatementCacheQueries()`
  `int`
  `getPreparedStatementCacheSizeMiB()`
  `int`
  `getPrepareThreshold()`
  `@Nullable String`
  `getProperty(String name)`
  `@Nullable String`
  `getProperty(PGProperty property)`
  `int`
  `getProtocolVersion()`
  `boolean`
  `getQuoteReturningIdentifiers()`
  `boolean`
  `getReadOnly()`
  `String`
  `getReadOnlyMode()`
  `int`
  `getReceiveBufferSize()`
  `int`
  `getRecvBufferSize()`
  `Reference`
  `getReference()`
  `@Nullable String`
  `getReplication()`
  `boolean`
  `getReWriteBatchedInserts()`
  `int`
  `getSendBufferSize()`
  `String`
  `getServerName()`
  Deprecated.
  use `getServerNames()`
  `String[]`
  `getServerNames()`
  Gets the name of the host(s) the PostgreSQL database is running on.
  `@Nullable String`
  `getSocketFactory()`
  `@Nullable String`
  `getSocketFactoryArg()`
  `int`
  `getSocketTimeout()`
  `boolean`
  `getSsl()`
  `@Nullable String`
  `getSslcert()`
  `@Nullable String`
  `getSslCert()`
  `@Nullable String`
  `getSslfactory()`
  `@Nullable String`
  `getSslfactoryarg()`
  `@Nullable String`
  `getSslFactoryArg()`
  `@Nullable String`
  `getSslhostnameverifier()`
  `@Nullable String`
  `getSslHostnameVerifier()`
  `@Nullable String`
  `getSslkey()`
  `@Nullable String`
  `getSslKey()`
  `@Nullable String`
  `getSslmode()`
  `@Nullable String`
  `getSslMode()`
  `String`
  `getSslNegotiation()`
  `@Nullable String`
  `getSslpassword()`
  `@Nullable String`
  `getSslPassword()`
  `@Nullable String`
  `getSslpasswordcallback()`
  `@Nullable String`
  `getSslPasswordCallback()`
  `int`
  `getSslResponseTimeout()`
  `@Nullable String`
  `getSslrootcert()`
  `@Nullable String`
  `getSslRootCert()`
  `@Nullable String`
  `getSspiServiceClass()`
  `@Nullable String`
  `getStringType()`
  `String`
  `getTargetServerType()`
  `boolean`
  `getTcpKeepAlive()`
  `boolean`
  `getTcpNoDelay()`
  `int`
  `getUnknownLength()`
  `String`
  `getUrl()`
  Generates a `DriverManager` URL from the other properties supplied.
  `String`
  `getURL()`
  Generates a `DriverManager` URL from the other properties supplied.
  `@Nullable String`
  `getUser()`
  Gets the user to connect as by default.
  `boolean`
  `getUseSpNego()`
  `String`
  `getXmlFactoryFactory()`
  `void`
  `initializeFrom(BaseDataSource source)`
  `boolean`
  `isAllowEncodingChanges()`
  `boolean`
  `isCleanupSavePoints()`
  `boolean`
  `isColumnSanitiserDisabled()`
  `boolean`
  `isDisableColumnSanitiser()`
  `boolean`
  `isLoadBalanceHosts()`
  `boolean`
  `isLogUnclosedConnections()`
  `boolean`
  `isReadOnly()`
  `boolean`
  `isReWriteBatchedInserts()`
  `boolean`
  `isSsl()`
  `boolean`
  `isTcpKeepAlive()`
  `protected void`
  `readBaseObject(ObjectInputStream in)`
  `void`
  `setAdaptiveFetch(boolean adaptiveFetch)`
  `void`
  `setAdaptiveFetchMaximum(int adaptiveFetchMaximum)`
  `void`
  `setAdaptiveFetchMinimum(int adaptiveFetchMinimum)`
  `void`
  `setAllowEncodingChanges(boolean allow)`
  `void`
  `setApplicationName(@Nullable String applicationName)`
  `void`
  `setAssumeMinServerVersion(@Nullable String minVersion)`
  `void`
  `setAuthenticationPluginClassName(String className)`
  `void`
  `setAutosave(AutoSave autoSave)`
  `void`
  `setBinaryTransfer(boolean enabled)`
  `void`
  `setBinaryTransferDisable(@Nullable String oidList)`
  `void`
  `setBinaryTransferEnable(@Nullable String oidList)`
  `void`
  `setCancelSignalTimeout(int seconds)`
  `void`
  `setChannelBinding(@Nullable String channelBinding)`
  `void`
  `setCleanupSavepoints(boolean cleanupSavepoints)`
  see PGProperty#CLEANUP_SAVEPOINTS
  `void`
  `setCleanupSavePoints(boolean cleanupSavepoints)`
  `void`
  `setConnectTimeout(int connectTimeout)`
  `void`
  `setCurrentSchema(@Nullable String currentSchema)`
  `void`
  `setDatabaseMetadataCacheFields(int cacheSize)`
  `void`
  `setDatabaseMetadataCacheFieldsMiB(int cacheSize)`
  `void`
  `setDatabaseName(@Nullable String databaseName)`
  Sets the name of the PostgreSQL database, running on the server identified by the serverName property.
  `void`
  `setDefaultRowFetchSize(int fetchSize)`
  `void`
  `setDisableColumnSanitiser(boolean disableColumnSanitiser)`
  `void`
  `setEscapeSyntaxCallMode(@Nullable String callMode)`
  `void`
  `setFromReference(Reference ref)`
  `void`
  `setGroupStartupParameters(boolean groupStartupParameters)`
  Deprecated.
  since we can send the startup parameters as a multistatment transaction
  `void`
  `setGssEncMode(@Nullable String mode)`
  `void`
  `setGssLib(@Nullable String lib)`
  `void`
  `setGssResponseTimeout(int gssResponseTimeout)`
  `void`
  `setGssUseDefaultCreds(boolean gssUseDefaultCreds)`
  `void`
  `setHideUnprivilegedObjects(boolean hideUnprivileged)`
  `void`
  `setHostRecheckSeconds(int hostRecheckSeconds)`
  `void`
  `setJaasApplicationName(@Nullable String name)`
  `void`
  `setJaasLogin(boolean doLogin)`
  `void`
  `setKerberosServerName(@Nullable String serverName)`
  `void`
  `setLoadBalanceHosts(boolean loadBalanceHosts)`
  `void`
  `setLocalSocketAddress(String localSocketAddress)`
  `void`
  `setLoggerFile(@Nullable String loggerFile)`
  Deprecated.
  Configure via java.util.logging
  `void`
  `setLoggerLevel(@Nullable String loggerLevel)`
  Deprecated.
  Configure via java.util.logging
  `void`
  `setLoginTimeout(int loginTimeout)`
  `void`
  `setLogServerErrorDetail(boolean enabled)`
  `void`
  `setLogUnclosedConnections(boolean enabled)`
  `void`
  `setLogWriter(@Nullable PrintWriter printWriter)`
  This implementation don't use a LogWriter.
  `void`
  `setMaxResultBuffer(@Nullable String maxResultBuffer)`
  `void`
  `setMaxSendBufferSize(int nbytes)`
  `void`
  `setOptions(@Nullable String options)`
  Set command line options for this connection
  `void`
  `setPassword(@Nullable String password)`
  Sets the password to connect with by default.
  `void`
  `setPortNumber(int portNumber)`
  Deprecated.
  use `setPortNumbers(int[])`
  `void`
  `setPortNumbers(int @Nullable [] portNumbers)`
  Sets the port(s) which the PostgreSQL server is listening on for TCP/IP connections.
  `void`
  `setPreferQueryMode(PreferQueryMode preferQueryMode)`
  `void`
  `setPreparedStatementCacheQueries(int cacheSize)`
  `void`
  `setPreparedStatementCacheSizeMiB(int cacheSize)`
  `void`
  `setPrepareThreshold(int count)`
  `void`
  `setProperty(String name, @Nullable String value)`
  `void`
  `setProperty(PGProperty property, @Nullable String value)`
  `void`
  `setProtocolVersion(int protocolVersion)`
  `void`
  `setQuoteReturningIdentifiers(boolean quoteIdentifiers)`
  `void`
  `setReadOnly(boolean readOnly)`
  `void`
  `setReadOnlyMode(@Nullable String mode)`
  `void`
  `setReceiveBufferSize(int nbytes)`
  `void`
  `setRecvBufferSize(int nbytes)`
  `void`
  `setReplication(@Nullable String replication)`
  `void`
  `setReWriteBatchedInserts(boolean reWrite)`
  `void`
  `setSendBufferSize(int nbytes)`
  `void`
  `setServerName(String serverName)`
  Deprecated.
  use `setServerNames(String[])`
  `void`
  `setServerNames(@Nullable String @Nullable [] serverNames)`
  Sets the name of the host(s) the PostgreSQL database is running on.
  `void`
  `setSocketFactory(@Nullable String socketFactoryClassName)`
  `void`
  `setSocketFactoryArg(@Nullable String socketFactoryArg)`
  `void`
  `setSocketTimeout(int seconds)`
  `void`
  `setSsl(boolean enabled)`
  `void`
  `setSslcert(@Nullable String file)`
  `void`
  `setSslCert(@Nullable String file)`
  `void`
  `setSslfactory(String classname)`
  `void`
  `setSslfactoryarg(@Nullable String arg)`
  `void`
  `setSslFactoryArg(@Nullable String arg)`
  `void`
  `setSslhostnameverifier(@Nullable String className)`
  `void`
  `setSslHostnameVerifier(@Nullable String className)`
  `void`
  `setSslkey(@Nullable String file)`
  `void`
  `setSslKey(@Nullable String file)`
  `void`
  `setSslmode(@Nullable String mode)`
  `void`
  `setSslMode(@Nullable String mode)`
  `void`
  `setSslNegotiation(@Nullable String sslNegotiation)`
  `void`
  `setSslpassword(String sslpassword)`
  `void`
  `setSslPassword(@Nullable String password)`
  `void`
  `setSslpasswordcallback(@Nullable String className)`
  `void`
  `setSslPasswordCallback(@Nullable String className)`
  `void`
  `setSslResponseTimeout(int sslResponseTimeout)`
  `void`
  `setSslrootcert(@Nullable String file)`
  `void`
  `setSslRootCert(@Nullable String file)`
  `void`
  `setSspiServiceClass(@Nullable String serviceClass)`
  `void`
  `setStringType(@Nullable String stringType)`
  `void`
  `setTargetServerType(@Nullable String targetServerType)`
  `void`
  `setTcpKeepAlive(boolean enabled)`
  `void`
  `setTcpNoDelay(boolean enabled)`
  `void`
  `setUnknownLength(int unknownLength)`
  `void`
  `setUrl(String url)`
  Sets properties from a `DriverManager` URL.
  `void`
  `setURL(String url)`
  Sets properties from a `DriverManager` URL.
  `void`
  `setUser(@Nullable String user)`
  Sets the user to connect as by default.
  `void`
  `setUseSpNego(boolean use)`
  `void`
  `setXmlFactoryFactory(@Nullable String xmlFactoryFactory)`
  `protected void`
  `writeBaseObject(ObjectOutputStream out)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface javax.sql.CommonDataSource

  `createShardingKeyBuilder`

- ## Constructor Details

  - ### BaseDataSource

    public BaseDataSource()

- ## Method Details

  - ### getConnection

    public Connection getConnection() throws SQLException
    Gets a connection to the PostgreSQL database. The database is identified by the DataSource properties serverName, databaseName, and portNumber. The user to connect as is identified by the DataSource properties user and password.
    Returns:
      A valid database connection.
    Throws:
      `SQLException` - Occurs when the database connection cannot be established.

  - ### getConnection

    public Connection getConnection(@Nullable String user, @Nullable String password) throws SQLException
    Gets a connection to the PostgreSQL database. The database is identified by the DataSource properties serverName, databaseName, and portNumber. The user to connect as is identified by the arguments user and password, which override the DataSource properties by the same name.
    Parameters:
      `user` - user
      `password` - password
    Returns:
      A valid database connection.
    Throws:
      `SQLException` - Occurs when the database connection cannot be established.

  - ### getLogWriter

    public @Nullable PrintWriter getLogWriter()
    This implementation don't use a LogWriter.
    Specified by:
      `getLogWriter` in interface `CommonDataSource`

  - ### setLogWriter

    public void setLogWriter(@Nullable PrintWriter printWriter)
    This implementation don't use a LogWriter.
    Specified by:
      `setLogWriter` in interface `CommonDataSource`
    Parameters:
      `printWriter` - Not used

  - ### getServerName

    @Deprecated public String getServerName()
    Deprecated.
    use `getServerNames()`
    Gets the name of the host the PostgreSQL database is running on.
    Returns:
      name of the host the PostgreSQL database is running on

  - ### getServerNames

    public String[] getServerNames()
    Gets the name of the host(s) the PostgreSQL database is running on.
    Returns:
      name of the host(s) the PostgreSQL database is running on

  - ### setServerName

    @Deprecated public void setServerName(String serverName)
    Deprecated.
    use `setServerNames(String[])`
    Sets the name of the host the PostgreSQL database is running on. If this is changed, it will only affect future calls to getConnection. The default value is `localhost`.
    Parameters:
      `serverName` - name of the host the PostgreSQL database is running on

  - ### setServerNames

    public void setServerNames(@Nullable String @Nullable [] serverNames)
    Sets the name of the host(s) the PostgreSQL database is running on. If this is changed, it will only affect future calls to getConnection. The default value is `localhost`.
    Parameters:
      `serverNames` - name of the host(s) the PostgreSQL database is running on

  - ### getDatabaseName

    public @Nullable String getDatabaseName()
    Gets the name of the PostgreSQL database, running on the server identified by the serverName property.
    Returns:
      name of the PostgreSQL database

  - ### setDatabaseName

    public void setDatabaseName(@Nullable String databaseName)
    Sets the name of the PostgreSQL database, running on the server identified by the serverName property. If this is changed, it will only affect future calls to getConnection.
    Parameters:
      `databaseName` - name of the PostgreSQL database

  - ### getDescription

    public abstract String getDescription()
    Gets a description of this DataSource-ish thing. Must be customized by subclasses.
    Returns:
      description of this DataSource-ish thing

  - ### getUser

    public @Nullable String getUser()
    Gets the user to connect as by default. If this is not specified, you must use the getConnection method which takes a user and password as parameters.
    Returns:
      user to connect as by default

  - ### setUser

    public void setUser(@Nullable String user)
    Sets the user to connect as by default. If this is not specified, you must use the getConnection method which takes a user and password as parameters. If this is changed, it will only affect future calls to getConnection.
    Parameters:
      `user` - user to connect as by default

  - ### getPassword

    public @Nullable String getPassword()
    Gets the password to connect with by default. If this is not specified but a password is needed to log in, you must use the getConnection method which takes a user and password as parameters.
    Returns:
      password to connect with by default

  - ### setPassword

    public void setPassword(@Nullable String password)
    Sets the password to connect with by default. If this is not specified but a password is needed to log in, you must use the getConnection method which takes a user and password as parameters. If this is changed, it will only affect future calls to getConnection.
    Parameters:
      `password` - password to connect with by default

  - ### getPortNumber

    @Deprecated public int getPortNumber()
    Deprecated.
    use `getPortNumbers()`
    Gets the port which the PostgreSQL server is listening on for TCP/IP connections.
    Returns:
      The port, or 0 if the default port will be used.

  - ### getPortNumbers

    public int[] getPortNumbers()
    Gets the port(s) which the PostgreSQL server is listening on for TCP/IP connections.
    Returns:
      The port(s), or 0 if the default port will be used.

  - ### setPortNumber

    @Deprecated public void setPortNumber(int portNumber)
    Deprecated.
    use `setPortNumbers(int[])`
    Sets the port which the PostgreSQL server is listening on for TCP/IP connections. Be sure the -i flag is passed to postmaster when PostgreSQL is started. If this is not set, or set to 0, the default port will be used.
    Parameters:
      `portNumber` - port which the PostgreSQL server is listening on for TCP/IP

  - ### setPortNumbers

    public void setPortNumbers(int @Nullable [] portNumbers)
    Sets the port(s) which the PostgreSQL server is listening on for TCP/IP connections. Be sure the -i flag is passed to postmaster when PostgreSQL is started. If this is not set, or set to 0, the default port will be used.
    Parameters:
      `portNumbers` - port(s) which the PostgreSQL server is listening on for TCP/IP

  - ### getOptions

    public @Nullable String getOptions()
    Returns:
      command line options for this connection

  - ### setOptions

    public void setOptions(@Nullable String options)
    Set command line options for this connection
    Parameters:
      `options` - string to set options to

  - ### getLoginTimeout

    public int getLoginTimeout()
    Specified by:
      `getLoginTimeout` in interface `CommonDataSource`
    Returns:
      login timeout
    See Also:
      - `PGProperty.LOGIN_TIMEOUT`

  - ### setLoginTimeout

    public void setLoginTimeout(int loginTimeout)
    Specified by:
      `setLoginTimeout` in interface `CommonDataSource`
    Parameters:
      `loginTimeout` - login timeout
    See Also:
      - `PGProperty.LOGIN_TIMEOUT`

  - ### getConnectTimeout

    public int getConnectTimeout()
    Returns:
      connect timeout
    See Also:
      - `PGProperty.CONNECT_TIMEOUT`

  - ### setConnectTimeout

    public void setConnectTimeout(int connectTimeout)
    Parameters:
      `connectTimeout` - connect timeout
    See Also:
      - `PGProperty.CONNECT_TIMEOUT`

  - ### getGssResponseTimeout

    public int getGssResponseTimeout()
    Returns:
      GSS ResponseTimeout
    See Also:
      - `PGProperty.GSS_RESPONSE_TIMEOUT`

  - ### setGssResponseTimeout

    public void setGssResponseTimeout(int gssResponseTimeout)
    Parameters:
      `gssResponseTimeout` - gss response timeout
    See Also:
      - `PGProperty.GSS_RESPONSE_TIMEOUT`

  - ### getSslResponseTimeout

    public int getSslResponseTimeout()
    Returns:
      SSL ResponseTimeout
    See Also:
      - `PGProperty.SSL_RESPONSE_TIMEOUT`

  - ### setSslResponseTimeout

    public void setSslResponseTimeout(int sslResponseTimeout)
    Parameters:
      `sslResponseTimeout` - ssl response timeout
    See Also:
      - `PGProperty.SSL_RESPONSE_TIMEOUT`

  - ### getProtocolVersion

    public int getProtocolVersion()
    Returns:
      protocol version
    See Also:
      - `PGProperty.PROTOCOL_VERSION`

  - ### setProtocolVersion

    public void setProtocolVersion(int protocolVersion)
    Parameters:
      `protocolVersion` - protocol version
    See Also:
      - `PGProperty.PROTOCOL_VERSION`

  - ### getQuoteReturningIdentifiers

    public boolean getQuoteReturningIdentifiers()
    Returns:
      quoteReturningIdentifiers
    See Also:
      - `PGProperty.QUOTE_RETURNING_IDENTIFIERS`

  - ### setQuoteReturningIdentifiers

    public void setQuoteReturningIdentifiers(boolean quoteIdentifiers)
    Parameters:
      `quoteIdentifiers` - indicate whether to quote identifiers
    See Also:
      - `PGProperty.QUOTE_RETURNING_IDENTIFIERS`

  - ### getReceiveBufferSize

    public int getReceiveBufferSize()
    Returns:
      receive buffer size
    See Also:
      - `PGProperty.RECEIVE_BUFFER_SIZE`

  - ### setReceiveBufferSize

    public void setReceiveBufferSize(int nbytes)
    Parameters:
      `nbytes` - receive buffer size
    See Also:
      - `PGProperty.RECEIVE_BUFFER_SIZE`

  - ### getSendBufferSize

    public int getSendBufferSize()
    Returns:
      send buffer size
    See Also:
      - `PGProperty.SEND_BUFFER_SIZE`

  - ### setSendBufferSize

    public void setSendBufferSize(int nbytes)
    Parameters:
      `nbytes` - send buffer size
    See Also:
      - `PGProperty.SEND_BUFFER_SIZE`

  - ### getMaxSendBufferSize

    public int getMaxSendBufferSize()
    Returns:
      send max buffer size
    See Also:
      - `PGProperty.MAX_SEND_BUFFER_SIZE`

  - ### setMaxSendBufferSize

    public void setMaxSendBufferSize(int nbytes)
    Parameters:
      `nbytes` - send max buffer size
    See Also:
      - `PGProperty.MAX_SEND_BUFFER_SIZE`

  - ### setPrepareThreshold

    public void setPrepareThreshold(int count)
    Parameters:
      `count` - prepare threshold
    See Also:
      - `PGProperty.PREPARE_THRESHOLD`

  - ### getPrepareThreshold

    public int getPrepareThreshold()
    Returns:
      prepare threshold
    See Also:
      - `PGProperty.PREPARE_THRESHOLD`

  - ### getPreparedStatementCacheQueries

    public int getPreparedStatementCacheQueries()
    Returns:
      prepared statement cache size (number of statements per connection)
    See Also:
      - `PGProperty.PREPARED_STATEMENT_CACHE_QUERIES`

  - ### setPreparedStatementCacheQueries

    public void setPreparedStatementCacheQueries(int cacheSize)
    Parameters:
      `cacheSize` - prepared statement cache size (number of statements per connection)
    See Also:
      - `PGProperty.PREPARED_STATEMENT_CACHE_QUERIES`

  - ### getPreparedStatementCacheSizeMiB

    public int getPreparedStatementCacheSizeMiB()
    Returns:
      prepared statement cache size (number of megabytes per connection)
    See Also:
      - `PGProperty.PREPARED_STATEMENT_CACHE_SIZE_MIB`

  - ### setPreparedStatementCacheSizeMiB

    public void setPreparedStatementCacheSizeMiB(int cacheSize)
    Parameters:
      `cacheSize` - statement cache size (number of megabytes per connection)
    See Also:
      - `PGProperty.PREPARED_STATEMENT_CACHE_SIZE_MIB`

  - ### getDatabaseMetadataCacheFields

    public int getDatabaseMetadataCacheFields()
    Returns:
      database metadata cache fields size (number of fields cached per connection)
    See Also:
      - `PGProperty.DATABASE_METADATA_CACHE_FIELDS`

  - ### setDatabaseMetadataCacheFields

    public void setDatabaseMetadataCacheFields(int cacheSize)
    Parameters:
      `cacheSize` - database metadata cache fields size (number of fields cached per connection)
    See Also:
      - `PGProperty.DATABASE_METADATA_CACHE_FIELDS`

  - ### getDatabaseMetadataCacheFieldsMiB

    public int getDatabaseMetadataCacheFieldsMiB()
    Returns:
      database metadata cache fields size (number of megabytes per connection)
    See Also:
      - `PGProperty.DATABASE_METADATA_CACHE_FIELDS_MIB`

  - ### setDatabaseMetadataCacheFieldsMiB

    public void setDatabaseMetadataCacheFieldsMiB(int cacheSize)
    Parameters:
      `cacheSize` - database metadata cache fields size (number of megabytes per connection)
    See Also:
      - `PGProperty.DATABASE_METADATA_CACHE_FIELDS_MIB`

  - ### setDefaultRowFetchSize

    public void setDefaultRowFetchSize(int fetchSize)
    Parameters:
      `fetchSize` - default fetch size
    See Also:
      - `PGProperty.DEFAULT_ROW_FETCH_SIZE`

  - ### getDefaultRowFetchSize

    public int getDefaultRowFetchSize()
    Returns:
      default fetch size
    See Also:
      - `PGProperty.DEFAULT_ROW_FETCH_SIZE`

  - ### setUnknownLength

    public void setUnknownLength(int unknownLength)
    Parameters:
      `unknownLength` - unknown length
    See Also:
      - `PGProperty.UNKNOWN_LENGTH`

  - ### getUnknownLength

    public int getUnknownLength()
    Returns:
      unknown length
    See Also:
      - `PGProperty.UNKNOWN_LENGTH`

  - ### setSocketTimeout

    public void setSocketTimeout(int seconds)
    Parameters:
      `seconds` - socket timeout
    See Also:
      - `PGProperty.SOCKET_TIMEOUT`

  - ### getSocketTimeout

    public int getSocketTimeout()
    Returns:
      socket timeout
    See Also:
      - `PGProperty.SOCKET_TIMEOUT`

  - ### setCancelSignalTimeout

    public void setCancelSignalTimeout(int seconds)
    Parameters:
      `seconds` - timeout that is used for sending cancel command
    See Also:
      - `PGProperty.CANCEL_SIGNAL_TIMEOUT`

  - ### getCancelSignalTimeout

    public int getCancelSignalTimeout()
    Returns:
      timeout that is used for sending cancel command in seconds
    See Also:
      - `PGProperty.CANCEL_SIGNAL_TIMEOUT`

  - ### setSsl

    public void setSsl(boolean enabled)
    Parameters:
      `enabled` - if SSL is enabled
    See Also:
      - `PGProperty.SSL`

  - ### getSsl

    public boolean getSsl()
    Returns:
      true if SSL is enabled
    See Also:
      - `PGProperty.SSL`

  - ### setSslfactory

    public void setSslfactory(String classname)
    Parameters:
      `classname` - SSL factory class name
    See Also:
      - `PGProperty.SSL_FACTORY`

  - ### getSslfactory

    public @Nullable String getSslfactory()
    Returns:
      SSL factory class name
    See Also:
      - `PGProperty.SSL_FACTORY`

  - ### getSslMode

    public @Nullable String getSslMode()
    Returns:
      SSL mode
    See Also:
      - `PGProperty.SSL_MODE`

  - ### setSslMode

    public void setSslMode(@Nullable String mode)
    Parameters:
      `mode` - SSL mode
    See Also:
      - `PGProperty.SSL_MODE`

  - ### getSslFactoryArg

    public @Nullable String getSslFactoryArg()
    Returns:
      SSL mode
    See Also:
      - `PGProperty.SSL_FACTORY_ARG`

  - ### setSslFactoryArg

    public void setSslFactoryArg(@Nullable String arg)
    Parameters:
      `arg` - argument forwarded to SSL factory
    See Also:
      - `PGProperty.SSL_FACTORY_ARG`

  - ### getSslHostnameVerifier

    public @Nullable String getSslHostnameVerifier()
    Returns:
      argument forwarded to SSL factory
    See Also:
      - `PGProperty.SSL_HOSTNAME_VERIFIER`

  - ### setSslHostnameVerifier

    public void setSslHostnameVerifier(@Nullable String className)
    Parameters:
      `className` - SSL hostname verifier
    See Also:
      - `PGProperty.SSL_HOSTNAME_VERIFIER`

  - ### getSslCert

    public @Nullable String getSslCert()
    Returns:
      className SSL hostname verifier
    See Also:
      - `PGProperty.SSL_CERT`

  - ### setSslCert

    public void setSslCert(@Nullable String file)
    Parameters:
      `file` - SSL certificate
    See Also:
      - `PGProperty.SSL_CERT`

  - ### getSslKey

    public @Nullable String getSslKey()
    Returns:
      SSL certificate
    See Also:
      - `PGProperty.SSL_KEY`

  - ### setSslKey

    public void setSslKey(@Nullable String file)
    Parameters:
      `file` - SSL key
    See Also:
      - `PGProperty.SSL_KEY`

  - ### getSslRootCert

    public @Nullable String getSslRootCert()
    Returns:
      SSL root certificate
    See Also:
      - `PGProperty.SSL_ROOT_CERT`

  - ### setSslRootCert

    public void setSslRootCert(@Nullable String file)
    Parameters:
      `file` - SSL root certificate
    See Also:
      - `PGProperty.SSL_ROOT_CERT`

  - ### setSslNegotiation

    public void setSslNegotiation(@Nullable String sslNegotiation)
    Parameters:
      `sslNegotiation` - one of SSLNegotiation.POSTGRES or SSLNegotiation.DIRECT
    See Also:
      - `PGProperty.SSL_NEGOTIATION`

  - ### getSslNegotiation

    public String getSslNegotiation()
    Returns:
      SSL Negotiation scheme
    See Also:
      - `PGProperty.SSL_NEGOTIATION`

  - ### getSslPassword

    public @Nullable String getSslPassword()
    Returns:
      SSL password
    See Also:
      - `PGProperty.SSL_PASSWORD`

  - ### setSslPassword

    public void setSslPassword(@Nullable String password)
    Parameters:
      `password` - SSL password
    See Also:
      - `PGProperty.SSL_PASSWORD`

  - ### getSslPasswordCallback

    public @Nullable String getSslPasswordCallback()
    Returns:
      SSL password callback
    See Also:
      - `PGProperty.SSL_PASSWORD_CALLBACK`

  - ### setSslPasswordCallback

    public void setSslPasswordCallback(@Nullable String className)
    Parameters:
      `className` - SSL password callback class name
    See Also:
      - `PGProperty.SSL_PASSWORD_CALLBACK`

  - ### setApplicationName

    public void setApplicationName(@Nullable String applicationName)
    Parameters:
      `applicationName` - application name
    See Also:
      - `PGProperty.APPLICATION_NAME`

  - ### getApplicationName

    public String getApplicationName()
    Returns:
      application name
    See Also:
      - `PGProperty.APPLICATION_NAME`

  - ### setTargetServerType

    public void setTargetServerType(@Nullable String targetServerType)
    Parameters:
      `targetServerType` - target server type
    See Also:
      - `PGProperty.TARGET_SERVER_TYPE`

  - ### getTargetServerType

    public String getTargetServerType()
    Returns:
      target server type
    See Also:
      - `PGProperty.TARGET_SERVER_TYPE`

  - ### setLoadBalanceHosts

    public void setLoadBalanceHosts(boolean loadBalanceHosts)
    Parameters:
      `loadBalanceHosts` - load balance hosts
    See Also:
      - `PGProperty.LOAD_BALANCE_HOSTS`

  - ### getLoadBalanceHosts

    public boolean getLoadBalanceHosts()
    Returns:
      load balance hosts
    See Also:
      - `PGProperty.LOAD_BALANCE_HOSTS`

  - ### setHostRecheckSeconds

    public void setHostRecheckSeconds(int hostRecheckSeconds)
    Parameters:
      `hostRecheckSeconds` - host recheck seconds
    See Also:
      - `PGProperty.HOST_RECHECK_SECONDS`

  - ### getHostRecheckSeconds

    public int getHostRecheckSeconds()
    Returns:
      host recheck seconds
    See Also:
      - `PGProperty.HOST_RECHECK_SECONDS`

  - ### setTcpKeepAlive

    public void setTcpKeepAlive(boolean enabled)
    Parameters:
      `enabled` - if TCP keep alive should be enabled
    See Also:
      - `PGProperty.TCP_KEEP_ALIVE`

  - ### getTcpKeepAlive

    public boolean getTcpKeepAlive()
    Returns:
      true if TCP keep alive is enabled
    See Also:
      - `PGProperty.TCP_KEEP_ALIVE`

  - ### setTcpNoDelay

    public void setTcpNoDelay(boolean enabled)
    Parameters:
      `enabled` - if TCP no delay should be enabled
    See Also:
      - `PGProperty.TCP_NO_DELAY`

  - ### getTcpNoDelay

    public boolean getTcpNoDelay()
    Returns:
      true if TCP no delay is enabled
    See Also:
      - `PGProperty.TCP_NO_DELAY`

  - ### setBinaryTransfer

    public void setBinaryTransfer(boolean enabled)
    Parameters:
      `enabled` - if binary transfer should be enabled
    See Also:
      - `PGProperty.BINARY_TRANSFER`

  - ### getBinaryTransfer

    public boolean getBinaryTransfer()
    Returns:
      true if binary transfer is enabled
    See Also:
      - `PGProperty.BINARY_TRANSFER`

  - ### setBinaryTransferEnable

    public void setBinaryTransferEnable(@Nullable String oidList)
    Parameters:
      `oidList` - list of OIDs that are allowed to use binary transfer
    See Also:
      - `PGProperty.BINARY_TRANSFER_ENABLE`

  - ### getBinaryTransferEnable

    public String getBinaryTransferEnable()
    Returns:
      list of OIDs that are allowed to use binary transfer
    See Also:
      - `PGProperty.BINARY_TRANSFER_ENABLE`

  - ### setBinaryTransferDisable

    public void setBinaryTransferDisable(@Nullable String oidList)
    Parameters:
      `oidList` - list of OIDs that are not allowed to use binary transfer
    See Also:
      - `PGProperty.BINARY_TRANSFER_DISABLE`

  - ### getBinaryTransferDisable

    public String getBinaryTransferDisable()
    Returns:
      list of OIDs that are not allowed to use binary transfer
    See Also:
      - `PGProperty.BINARY_TRANSFER_DISABLE`

  - ### getStringType

    public @Nullable String getStringType()
    Returns:
      string type
    See Also:
      - `PGProperty.STRING_TYPE`

  - ### setStringType

    public void setStringType(@Nullable String stringType)
    Parameters:
      `stringType` - string type
    See Also:
      - `PGProperty.STRING_TYPE`

  - ### isColumnSanitiserDisabled

    public boolean isColumnSanitiserDisabled()
    Returns:
      true if column sanitizer is disabled
    See Also:
      - `PGProperty.DISABLE_COLUMN_SANITISER`

  - ### getDisableColumnSanitiser

    public boolean getDisableColumnSanitiser()
    Returns:
      true if column sanitizer is disabled
    See Also:
      - `PGProperty.DISABLE_COLUMN_SANITISER`

  - ### setDisableColumnSanitiser

    public void setDisableColumnSanitiser(boolean disableColumnSanitiser)
    Parameters:
      `disableColumnSanitiser` - if column sanitizer should be disabled
    See Also:
      - `PGProperty.DISABLE_COLUMN_SANITISER`

  - ### getCurrentSchema

    public @Nullable String getCurrentSchema()
    Returns:
      current schema
    See Also:
      - `PGProperty.CURRENT_SCHEMA`

  - ### setCurrentSchema

    public void setCurrentSchema(@Nullable String currentSchema)
    Parameters:
      `currentSchema` - current schema
    See Also:
      - `PGProperty.CURRENT_SCHEMA`

  - ### getReadOnly

    public boolean getReadOnly()
    Returns:
      true if connection is readonly
    See Also:
      - `PGProperty.READ_ONLY`

  - ### setReadOnly

    public void setReadOnly(boolean readOnly)
    Parameters:
      `readOnly` - if connection should be readonly
    See Also:
      - `PGProperty.READ_ONLY`

  - ### getReadOnlyMode

    public String getReadOnlyMode()
    Returns:
      The behavior when set read only
    See Also:
      - `PGProperty.READ_ONLY_MODE`

  - ### setReadOnlyMode

    public void setReadOnlyMode(@Nullable String mode)
    Parameters:
      `mode` - the behavior when set read only
    See Also:
      - `PGProperty.READ_ONLY_MODE`

  - ### getLogUnclosedConnections

    public boolean getLogUnclosedConnections()
    Returns:
      true if driver should log unclosed connections
    See Also:
      - `PGProperty.LOG_UNCLOSED_CONNECTIONS`

  - ### setLogUnclosedConnections

    public void setLogUnclosedConnections(boolean enabled)
    Parameters:
      `enabled` - true if driver should log unclosed connections
    See Also:
      - `PGProperty.LOG_UNCLOSED_CONNECTIONS`

  - ### getLogServerErrorDetail

    public boolean getLogServerErrorDetail()
    Returns:
      true if driver should log include detail in server error messages
    See Also:
      - `PGProperty.LOG_SERVER_ERROR_DETAIL`

  - ### setLogServerErrorDetail

    public void setLogServerErrorDetail(boolean enabled)
    Parameters:
      `enabled` - true if driver should include detail in server error messages
    See Also:
      - `PGProperty.LOG_SERVER_ERROR_DETAIL`

  - ### getAssumeMinServerVersion

    public @Nullable String getAssumeMinServerVersion()
    Returns:
      assumed minimal server version
    See Also:
      - `PGProperty.ASSUME_MIN_SERVER_VERSION`

  - ### setAssumeMinServerVersion

    public void setAssumeMinServerVersion(@Nullable String minVersion)
    Parameters:
      `minVersion` - assumed minimal server version
    See Also:
      - `PGProperty.ASSUME_MIN_SERVER_VERSION`

  - ### getGroupStartupParameters

    @Deprecated public boolean getGroupStartupParameters()
    Deprecated.
    since we can send the startup parameters as a multistatment 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. If set then we will group the startup parameters in a transaction
    Returns:
      whether to group startup parameters or not
    See Also:
      - `PGProperty.GROUP_STARTUP_PARAMETERS`

  - ### setGroupStartupParameters

    @Deprecated public void setGroupStartupParameters(boolean groupStartupParameters)
    Deprecated.
    since we can send the startup parameters as a multistatment transaction
    Parameters:
      `groupStartupParameters` - whether to group startup Parameters in a transaction or not
    See Also:
      - `PGProperty.GROUP_STARTUP_PARAMETERS`

  - ### getJaasApplicationName

    public @Nullable String getJaasApplicationName()
    Returns:
      JAAS application name
    See Also:
      - `PGProperty.JAAS_APPLICATION_NAME`

  - ### setJaasApplicationName

    public void setJaasApplicationName(@Nullable String name)
    Parameters:
      `name` - JAAS application name
    See Also:
      - `PGProperty.JAAS_APPLICATION_NAME`

  - ### getJaasLogin

    public boolean getJaasLogin()
    Returns:
      true if perform JAAS login before GSS authentication
    See Also:
      - `PGProperty.JAAS_LOGIN`

  - ### setJaasLogin

    public void setJaasLogin(boolean doLogin)
    Parameters:
      `doLogin` - true if perform JAAS login before GSS authentication
    See Also:
      - `PGProperty.JAAS_LOGIN`

  - ### getGssUseDefaultCreds

    public boolean getGssUseDefaultCreds()
    Returns:
      true if using default GSS credentials
    See Also:
      - `PGProperty.GSS_USE_DEFAULT_CREDS`

  - ### setGssUseDefaultCreds

    public void setGssUseDefaultCreds(boolean gssUseDefaultCreds)
    Parameters:
      `gssUseDefaultCreds` - true if using default GSS credentials
    See Also:
      - `PGProperty.GSS_USE_DEFAULT_CREDS`

  - ### getKerberosServerName

    public @Nullable String getKerberosServerName()
    Returns:
      Kerberos server name
    See Also:
      - `PGProperty.KERBEROS_SERVER_NAME`

  - ### setKerberosServerName

    public void setKerberosServerName(@Nullable String serverName)
    Parameters:
      `serverName` - Kerberos server name
    See Also:
      - `PGProperty.KERBEROS_SERVER_NAME`

  - ### getUseSpNego

    public boolean getUseSpNego()
    Returns:
      true if use SPNEGO
    See Also:
      - `PGProperty.USE_SPNEGO`

  - ### setUseSpNego

    public void setUseSpNego(boolean use)
    Parameters:
      `use` - true if use SPNEGO
    See Also:
      - `PGProperty.USE_SPNEGO`

  - ### getGssLib

    public @Nullable String getGssLib()
    Returns:
      GSS mode: auto, sspi, or gssapi
    See Also:
      - `PGProperty.GSS_LIB`

  - ### setGssLib

    public void setGssLib(@Nullable String lib)
    Parameters:
      `lib` - GSS mode: auto, sspi, or gssapi
    See Also:
      - `PGProperty.GSS_LIB`

  - ### getGssEncMode

    public String getGssEncMode()
    Returns:
      GSS encryption mode: disable, prefer or require

  - ### setGssEncMode

    public void setGssEncMode(@Nullable String mode)
    Parameters:
      `mode` - encryption mode: disable, prefer or require

  - ### getSspiServiceClass

    public @Nullable String getSspiServiceClass()
    Returns:
      SSPI service class
    See Also:
      - `PGProperty.SSPI_SERVICE_CLASS`

  - ### setSspiServiceClass

    public void setSspiServiceClass(@Nullable String serviceClass)
    Parameters:
      `serviceClass` - SSPI service class
    See Also:
      - `PGProperty.SSPI_SERVICE_CLASS`

  - ### getAllowEncodingChanges

    public boolean getAllowEncodingChanges()
    Returns:
      if connection allows encoding changes
    See Also:
      - `PGProperty.ALLOW_ENCODING_CHANGES`

  - ### setAllowEncodingChanges

    public void setAllowEncodingChanges(boolean allow)
    Parameters:
      `allow` - if connection allows encoding changes
    See Also:
      - `PGProperty.ALLOW_ENCODING_CHANGES`

  - ### getSocketFactory

    public @Nullable String getSocketFactory()
    Returns:
      socket factory class name
    See Also:
      - `PGProperty.SOCKET_FACTORY`

  - ### setSocketFactory

    public void setSocketFactory(@Nullable String socketFactoryClassName)
    Parameters:
      `socketFactoryClassName` - socket factory class name
    See Also:
      - `PGProperty.SOCKET_FACTORY`

  - ### getSocketFactoryArg

    public @Nullable String getSocketFactoryArg()
    Returns:
      socket factory argument
    See Also:
      - `PGProperty.SOCKET_FACTORY_ARG`

  - ### setSocketFactoryArg

    public void setSocketFactoryArg(@Nullable String socketFactoryArg)
    Parameters:
      `socketFactoryArg` - socket factory argument
    See Also:
      - `PGProperty.SOCKET_FACTORY_ARG`

  - ### setReplication

    public void setReplication(@Nullable String replication)
    Parameters:
      `replication` - set to 'database' for logical replication or 'true' for physical replication
    See Also:
      - `PGProperty.REPLICATION`

  - ### getEscapeSyntaxCallMode

    public String getEscapeSyntaxCallMode()
    Returns:
      'select', "callIfNoReturn', or 'call'
    See Also:
      - `PGProperty.ESCAPE_SYNTAX_CALL_MODE`

  - ### setEscapeSyntaxCallMode

    public void setEscapeSyntaxCallMode(@Nullable String callMode)
    Parameters:
      `callMode` - the call mode to use for JDBC escape call syntax
    See Also:
      - `PGProperty.ESCAPE_SYNTAX_CALL_MODE`

  - ### getReplication

    public @Nullable String getReplication()
    Returns:
      null, 'database', or 'true
    See Also:
      - `PGProperty.REPLICATION`

  - ### getLocalSocketAddress

    public @Nullable String getLocalSocketAddress()
    Returns:
      the localSocketAddress
    See Also:
      - `PGProperty.LOCAL_SOCKET_ADDRESS`

  - ### setLocalSocketAddress

    public void setLocalSocketAddress(String localSocketAddress)
    Parameters:
      `localSocketAddress` - local address to bind client side to
    See Also:
      - `PGProperty.LOCAL_SOCKET_ADDRESS`

  - ### getLoggerLevel

    @Deprecated public @Nullable String getLoggerLevel()
    Deprecated.
    Configure via java.util.logging
    This property is no longer used by the driver and will be ignored.
    Returns:
      loggerLevel in properties

  - ### setLoggerLevel

    @Deprecated public void setLoggerLevel(@Nullable String loggerLevel)
    Deprecated.
    Configure via java.util.logging
    This property is no longer used by the driver and will be ignored.
    Parameters:
      `loggerLevel` - loggerLevel to set, will be ignored

  - ### getLoggerFile

    @Deprecated public @Nullable String getLoggerFile()
    Deprecated.
    Configure via java.util.logging
    This property is no longer used by the driver and will be ignored.
    Returns:
      loggerFile in properties

  - ### setLoggerFile

    @Deprecated public void setLoggerFile(@Nullable String loggerFile)
    Deprecated.
    Configure via java.util.logging
    This property is no longer used by the driver and will be ignored.
    Parameters:
      `loggerFile` - will be ignored

  - ### getChannelBinding

    public @Nullable String getChannelBinding()
    Returns:
      Channel binding option
    See Also:
      - `PGProperty.CHANNEL_BINDING`

  - ### setChannelBinding

    public void setChannelBinding(@Nullable String channelBinding)
    Parameters:
      `channelBinding` - Channel binding option
    See Also:
      - `PGProperty.CHANNEL_BINDING`

  - ### getUrl

    public String getUrl()
    Generates a `DriverManager` URL from the other properties supplied.
    Returns:
      `DriverManager` URL from the other properties supplied

  - ### getURL

    public String getURL()
    Generates a `DriverManager` URL from the other properties supplied.
    Returns:
      `DriverManager` URL from the other properties supplied

  - ### setUrl

    public void setUrl(String url)
    Sets properties from a `DriverManager` URL.
    Parameters:
      `url` - properties to set

  - ### setURL

    public void setURL(String url)
    Sets properties from a `DriverManager` URL. Added to follow convention used in other DBMS.
    Parameters:
      `url` - properties to set

  - ### getAuthenticationPluginClassName

    public @Nullable String getAuthenticationPluginClassName()
    Returns:
      the class name to use for the Authentication Plugin. This can be null in which case the default password authentication plugin will be used

  - ### setAuthenticationPluginClassName

    public void setAuthenticationPluginClassName(String className)
    Parameters:
      `className` - name of a class which implements `AuthenticationPlugin` This class will be used to get the encoded bytes to be sent to the server as the password to authenticate the user.

  - ### getProperty

    public @Nullable String getProperty(String name) throws SQLException
    Throws:
      `SQLException`

  - ### setProperty

    public void setProperty(String name, @Nullable String value) throws SQLException
    Throws:
      `SQLException`

  - ### getProperty

    public @Nullable String getProperty(PGProperty property)

  - ### setProperty

    public void setProperty(PGProperty property, @Nullable String value)

  - ### createReference

    protected Reference createReference()
    Generates a reference using the appropriate object factory.
    Returns:
      reference using the appropriate object factory

  - ### getReference

    public Reference getReference() throws NamingException
    Specified by:
      `getReference` in interface `Referenceable`
    Throws:
      `NamingException`

  - ### setFromReference

    public void setFromReference(Reference ref)

  - ### writeBaseObject

    protected void writeBaseObject(ObjectOutputStream out) throws IOException
    Throws:
      `IOException`

  - ### readBaseObject

    protected void readBaseObject(ObjectInputStream in) throws IOException, ClassNotFoundException
    Throws:
      `IOException`
      `ClassNotFoundException`

  - ### initializeFrom

    public void initializeFrom(BaseDataSource source) throws IOException, ClassNotFoundException
    Throws:
      `IOException`
      `ClassNotFoundException`

  - ### getPreferQueryMode

    public PreferQueryMode getPreferQueryMode()
    Returns:
      preferred query execution mode
    See Also:
      - `PGProperty.PREFER_QUERY_MODE`

  - ### setPreferQueryMode

    public void setPreferQueryMode(PreferQueryMode preferQueryMode)
    Parameters:
      `preferQueryMode` - extended, simple, extendedForPrepared, or extendedCacheEverything
    See Also:
      - `PGProperty.PREFER_QUERY_MODE`

  - ### getAutosave

    public AutoSave getAutosave()
    Returns:
      connection configuration regarding automatic per-query savepoints
    See Also:
      - `PGProperty.AUTOSAVE`

  - ### setAutosave

    public void setAutosave(AutoSave autoSave)
    Parameters:
      `autoSave` - connection configuration regarding automatic per-query savepoints
    See Also:
      - `PGProperty.AUTOSAVE`

  - ### getCleanupSavepoints

    public boolean getCleanupSavepoints()
    see PGProperty#CLEANUP_SAVEPOINTS
    Returns:
      boolean indicating property set

  - ### setCleanupSavepoints

    public void setCleanupSavepoints(boolean cleanupSavepoints)
    see PGProperty#CLEANUP_SAVEPOINTS
    Parameters:
      `cleanupSavepoints` - will cleanup savepoints after a successful transaction

  - ### getReWriteBatchedInserts

    public boolean getReWriteBatchedInserts()
    Returns:
      boolean indicating property is enabled or not.
    See Also:
      - `PGProperty.REWRITE_BATCHED_INSERTS`

  - ### setReWriteBatchedInserts

    public void setReWriteBatchedInserts(boolean reWrite)
    Parameters:
      `reWrite` - boolean value to set the property in the properties collection
    See Also:
      - `PGProperty.REWRITE_BATCHED_INSERTS`

  - ### getHideUnprivilegedObjects

    public boolean getHideUnprivilegedObjects()
    Returns:
      boolean indicating property is enabled or not.
    See Also:
      - `PGProperty.HIDE_UNPRIVILEGED_OBJECTS`

  - ### setHideUnprivilegedObjects

    public void setHideUnprivilegedObjects(boolean hideUnprivileged)
    Parameters:
      `hideUnprivileged` - boolean value to set the property in the properties collection
    See Also:
      - `PGProperty.HIDE_UNPRIVILEGED_OBJECTS`

  - ### getMaxResultBuffer

    public @Nullable String getMaxResultBuffer()

  - ### setMaxResultBuffer

    public void setMaxResultBuffer(@Nullable String maxResultBuffer)

  - ### getAdaptiveFetch

    public boolean getAdaptiveFetch()

  - ### setAdaptiveFetch

    public void setAdaptiveFetch(boolean adaptiveFetch)

  - ### getAdaptiveFetchMaximum

    public int getAdaptiveFetchMaximum()

  - ### setAdaptiveFetchMaximum

    public void setAdaptiveFetchMaximum(int adaptiveFetchMaximum)

  - ### getAdaptiveFetchMinimum

    public int getAdaptiveFetchMinimum()

  - ### setAdaptiveFetchMinimum

    public void setAdaptiveFetchMinimum(int adaptiveFetchMinimum)

  - ### getParentLogger

    public Logger getParentLogger()
    Specified by:
      `getParentLogger` in interface `CommonDataSource`

  - ### getXmlFactoryFactory

    public String getXmlFactoryFactory()

  - ### setXmlFactoryFactory

    public void setXmlFactoryFactory(@Nullable String xmlFactoryFactory)

  - ### isSsl

    public boolean isSsl()

  - ### getSslfactoryarg

    public @Nullable String getSslfactoryarg()

  - ### setSslfactoryarg

    public void setSslfactoryarg(@Nullable String arg)

  - ### getSslcert

    public @Nullable String getSslcert()

  - ### setSslcert

    public void setSslcert(@Nullable String file)

  - ### getSslmode

    public @Nullable String getSslmode()

  - ### setSslmode

    public void setSslmode(@Nullable String mode)

  - ### getSslhostnameverifier

    public @Nullable String getSslhostnameverifier()

  - ### setSslhostnameverifier

    public void setSslhostnameverifier(@Nullable String className)

  - ### getSslkey

    public @Nullable String getSslkey()

  - ### setSslkey

    public void setSslkey(@Nullable String file)

  - ### getSslrootcert

    public @Nullable String getSslrootcert()

  - ### setSslrootcert

    public void setSslrootcert(@Nullable String file)

  - ### getSslpasswordcallback

    public @Nullable String getSslpasswordcallback()

  - ### setSslpasswordcallback

    public void setSslpasswordcallback(@Nullable String className)

  - ### getSslpassword

    public @Nullable String getSslpassword()

  - ### setSslpassword

    public void setSslpassword(String sslpassword)

  - ### getRecvBufferSize

    public int getRecvBufferSize()

  - ### setRecvBufferSize

    public void setRecvBufferSize(int nbytes)

  - ### isAllowEncodingChanges

    public boolean isAllowEncodingChanges()

  - ### isLogUnclosedConnections

    public boolean isLogUnclosedConnections()

  - ### isTcpKeepAlive

    public boolean isTcpKeepAlive()

  - ### isReadOnly

    public boolean isReadOnly()

  - ### isDisableColumnSanitiser

    public boolean isDisableColumnSanitiser()

  - ### isLoadBalanceHosts

    public boolean isLoadBalanceHosts()

  - ### isCleanupSavePoints

    public boolean isCleanupSavePoints()

  - ### setCleanupSavePoints

    public void setCleanupSavePoints(boolean cleanupSavepoints)

  - ### isReWriteBatchedInserts

    public boolean isReWriteBatchedInserts()