Package org.postgresql.ds

# Class PGConnectionPoolDataSource

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

All Implemented Interfaces:
  `Serializable`, `Referenceable`, `CommonDataSource`, `ConnectionPoolDataSource`

Direct Known Subclasses:
  `ConnectionPool`, `Jdbc3ConnectionPool`

public class PGConnectionPoolDataSource extends BaseDataSource implements ConnectionPoolDataSource, Serializable
PostgreSQL implementation of ConnectionPoolDataSource. The app server or middleware vendor should provide a DataSource implementation that takes advantage of this ConnectionPoolDataSource. If not, you can use the PostgreSQL implementation known as PoolingDataSource, but that should only be used if your server or middleware vendor does not provide their own. Why? The server may want to reuse the same Connection across all EJBs requesting a Connection within the same Transaction, or provide other similar advanced features.

In any case, in order to use this ConnectionPoolDataSource, you must set the property databaseName. The settings for serverName, portNumber, user, and password are optional. Note: these properties are declared in the superclass.

This implementation supports JDK 1.3 and higher.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PGConnectionPoolDataSource()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Gets a description of this DataSource.
  `PooledConnection`
  `getPooledConnection()`
  Gets a connection which may be pooled by the app server or middleware implementation of DataSource.
  `PooledConnection`
  `getPooledConnection(String user, String password)`
  Gets a connection which may be pooled by the app server or middleware implementation of DataSource.
  `boolean`
  `isDefaultAutoCommit()`
  Gets whether connections supplied by this pool will have autoCommit turned on by default.
  `void`
  `setDefaultAutoCommit(boolean defaultAutoCommit)`
  Sets whether connections supplied by this pool will have autoCommit turned on by default.

  ### Methods inherited from class org.postgresql.ds.common.BaseDataSource

  `createReference, getAdaptiveFetch, getAdaptiveFetchMaximum, getAdaptiveFetchMinimum, getAllowEncodingChanges, getApplicationName, getAssumeMinServerVersion, getAuthenticationPluginClassName, getAutosave, getBinaryTransfer, getBinaryTransferDisable, getBinaryTransferEnable, getCancelSignalTimeout, getChannelBinding, getCleanupSavepoints, getConnection, getConnection, getConnectTimeout, getConvertBooleanToNumeric, getCurrentSchema, getDatabaseMetadataCacheFields, getDatabaseMetadataCacheFieldsMiB, getDatabaseName, getDefaultRowFetchSize, getDisableColumnSanitiser, getEscapeSyntaxCallMode, getGroupStartupParameters, getGssEncMode, getGssLib, getGssResponseTimeout, getGssUseDefaultCreds, getHideUnprivilegedObjects, getHostRecheckSeconds, getJaasApplicationName, getJaasLogin, getKerberosServerName, getLoadBalanceHosts, getLocalSocketAddress, getLoggerFile, getLoggerLevel, getLoginTimeout, getLogServerErrorDetail, getLogUnclosedConnections, getLogWriter, getMaxResultBuffer, getMaxSendBufferSize, getOptions, getParentLogger, getPassword, getPortNumber, getPortNumbers, getPreferQueryMode, getPreparedStatementCacheQueries, getPreparedStatementCacheSizeMiB, getPrepareThreshold, getProperty, getProperty, getProtocolVersion, getQuoteReturningIdentifiers, getReadOnly, getReadOnlyMode, getReceiveBufferSize, getRecvBufferSize, getReference, getReplication, getReWriteBatchedInserts, getSendBufferSize, getServerName, getServerNames, getSocketFactory, getSocketFactoryArg, getSocketTimeout, getSsl, getSslcert, getSslCert, getSslfactory, getSslfactoryarg, getSslFactoryArg, getSslhostnameverifier, getSslHostnameVerifier, getSslkey, getSslKey, getSslmode, getSslMode, getSslNegotiation, getSslpassword, getSslPassword, getSslpasswordcallback, getSslPasswordCallback, getSslResponseTimeout, getSslrootcert, getSslRootCert, getSspiServiceClass, getStringType, getTargetServerType, getTcpKeepAlive, getTcpNoDelay, getUnknownLength, getUrl, getURL, getUser, getUseSpNego, getXmlFactoryFactory, initializeFrom, isAllowEncodingChanges, isCleanupSavePoints, isColumnSanitiserDisabled, isDisableColumnSanitiser, isLoadBalanceHosts, isLogUnclosedConnections, isReadOnly, isReWriteBatchedInserts, isSsl, isTcpKeepAlive, readBaseObject, setAdaptiveFetch, setAdaptiveFetchMaximum, setAdaptiveFetchMinimum, setAllowEncodingChanges, setApplicationName, setAssumeMinServerVersion, setAuthenticationPluginClassName, setAutosave, setBinaryTransfer, setBinaryTransferDisable, setBinaryTransferEnable, setCancelSignalTimeout, setChannelBinding, setCleanupSavepoints, setCleanupSavePoints, setConnectTimeout, setConvertBooleanToNumeric, setCurrentSchema, setDatabaseMetadataCacheFields, setDatabaseMetadataCacheFieldsMiB, setDatabaseName, setDefaultRowFetchSize, setDisableColumnSanitiser, setEscapeSyntaxCallMode, setFromReference, setGroupStartupParameters, setGssEncMode, setGssLib, setGssResponseTimeout, setGssUseDefaultCreds, setHideUnprivilegedObjects, setHostRecheckSeconds, setJaasApplicationName, setJaasLogin, setKerberosServerName, setLoadBalanceHosts, setLocalSocketAddress, setLoggerFile, setLoggerLevel, setLoginTimeout, setLogServerErrorDetail, setLogUnclosedConnections, setLogWriter, setMaxResultBuffer, setMaxSendBufferSize, setOptions, setPassword, setPortNumber, setPortNumbers, setPreferQueryMode, setPreparedStatementCacheQueries, setPreparedStatementCacheSizeMiB, setPrepareThreshold, setProperty, setProperty, setProtocolVersion, setQuoteReturningIdentifiers, setReadOnly, setReadOnlyMode, setReceiveBufferSize, setRecvBufferSize, setReplication, setReWriteBatchedInserts, setSendBufferSize, setServerName, setServerNames, setSocketFactory, setSocketFactoryArg, setSocketTimeout, setSsl, setSslcert, setSslCert, setSslfactory, setSslfactoryarg, setSslFactoryArg, setSslhostnameverifier, setSslHostnameVerifier, setSslkey, setSslKey, setSslmode, setSslMode, setSslNegotiation, setSslpassword, setSslPassword, setSslpasswordcallback, setSslPasswordCallback, setSslResponseTimeout, setSslrootcert, setSslRootCert, setSspiServiceClass, setStringType, setTargetServerType, setTcpKeepAlive, setTcpNoDelay, setUnknownLength, setUrl, setURL, setUser, setUseSpNego, setXmlFactoryFactory, writeBaseObject`

  ### 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, getParentLogger`

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

  `createPooledConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter`

- ## Constructor Details

  - ### PGConnectionPoolDataSource

    public PGConnectionPoolDataSource()

- ## Method Details

  - ### getDescription

    public String getDescription()
    Gets a description of this DataSource.
    Specified by:
      `getDescription` in class `BaseDataSource`
    Returns:
      description of this DataSource-ish thing

  - ### getPooledConnection

    public PooledConnection getPooledConnection() throws SQLException
    Gets a connection which may be pooled by the app server or middleware implementation of DataSource.
    Specified by:
      `getPooledConnection` in interface `ConnectionPoolDataSource`
    Throws:
      `SQLException` - Occurs when the physical database connection cannot be established.

  - ### getPooledConnection

    public PooledConnection getPooledConnection(String user, String password) throws SQLException
    Gets a connection which may be pooled by the app server or middleware implementation of DataSource.
    Specified by:
      `getPooledConnection` in interface `ConnectionPoolDataSource`
    Throws:
      `SQLException` - Occurs when the physical database connection cannot be established.

  - ### isDefaultAutoCommit

    public boolean isDefaultAutoCommit()
    Gets whether connections supplied by this pool will have autoCommit turned on by default. The default value is `true`, so that autoCommit will be turned on by default.
    Returns:
      true if connections supplied by this pool will have autoCommit

  - ### setDefaultAutoCommit

    public void setDefaultAutoCommit(boolean defaultAutoCommit)
    Sets whether connections supplied by this pool will have autoCommit turned on by default. The default value is `true`, so that autoCommit will be turned on by default.
    Parameters:
      `defaultAutoCommit` - whether connections supplied by this pool will have autoCommit