Class PgConnection
- All Implemented Interfaces:
AutoCloseable,Connection,Wrapper,BaseConnection,PGConnection
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intDefault fetch size for statement.protected booleanprotected @Nullable DatabaseMetaDataprotected intThe current type mappings.Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidabort()voidvoidaddDataType(String type, Class<? extends PGobject> klass) This allows client code to add a handler for one of org.postgresql's more unique data types.voidaddDataType(String type, String name) This allows client code to add a handler for one of org.postgresql's more unique data types.voidaddTimerTask(TimerTask timerTask, long milliSeconds) Schedule a TimerTask for later execution.voidaddWarning(SQLWarning warn) This adds a warning to the warning chain.booleanbinaryTransferSend(int oid) Returns true if value for the given oid should be sent using binary transfer.voidCancel the current query executing on this connection.protected voidvoidvoidclose()Note: even thoughStatementis automatically closed when it is garbage collected, it is better to close it explicitly to lower resource consumption.voidcommit()createArrayOf(String typeName, @Nullable Object elements) Creates anArraywrapping elements.createArrayOf(String typeName, @Nullable Object @Nullable [] elements) createQuery(String sql, boolean escapeProcessing, boolean isParameterized, String... columnNames) <T> TcreateQueryObject(Class<T> ifc) createStatement(int resultSetType, int resultSetConcurrency) createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) createStruct(String typeName, Object[] attributes) protected TypeInfocreateTypeInfo(BaseConnection conn, int unknownLength) byte @PolyNull []encodeString(@PolyNull String str) Encode a string using the database's client_encoding (usually UTF8, but can vary on older server versions).escapeIdentifier(String identifier) Return the given string suitably quoted to be used as an identifier in an SQL statement string.escapeLiteral(String literal) Return the given string suitably quoted to be used as a string literal in an SQL statement string.escapeString(String str) Escapes a string for use as string-literal within an SQL command.Execute a SQL query that returns a single resultset.execSQLQuery(String s, int resultSetType, int resultSetConcurrency) voidExecute a SQL query that does not return results.booleanGet state of adaptive fetch for connection.booleanConnection configuration regarding automatic per-query savepoints.intReturn the process ID (PID) of the backend server process handling this connection.@Nullable StringgetClientInfo(String name) This returns the COPY API for the current connection.@Nullable StringgetCursorName gets the cursor name.Get server version number.intGet the default fetch size for statements created from this connection.This returns the Fastpath API for the current connection.Return metadata cache for given connection.booleanbooleanintprotected @Nullable StringgetIsolationLevelName(int level) This returns the LargeObject API for the current connection.booleanIndicates if error details from server used in included in logging and exceptions.intThis method returns any notifications that have been received since the last call to this method.getNotifications(int timeoutMillis) This method returns any notifications that have been received since the last call to this method.Construct and return an appropriate object for the given type and value.final @Nullable StringgetParameterStatus(String parameterName) Shorthand for getParameterStatuses().get(...) .Returns the current values of all parameters reported by the server.Returns the query mode for this connection.intGet the default server-side prepare reuse threshold for statements created from this connection.intGet the QueryExecutor implementation for this connection.Internal protocol for work with physical and logical replication.@Nullable StringintGet server major version.intGet server minor version.booleanReturns whether the server treats string-literals according to the SQL standard or if it uses traditional PostgreSQL escaping rules.booleanDeprecated.intGet the current transaction state of this connection.getURL()We are required to bring back certain information by the DatabaseMetaData class.Method getUserName() brings back the User Name (again, we saved it).@Nullable SQLWarningRetrieve the factory to instantiate XML processing factories.booleanhaveMinimumServerVersion(int ver) Check if we have at least a particular server version.booleanCheck if we have at least a particular server version.booleanIndicates if statements to backend should be hinted as read only.booleanisClosed()booleanReturn whether to disable column name sanitation.booleanbooleanisValid(int timeout) booleanisWrapperFor(Class<?> iface) protected Arrayprotected BlobmakeBlob(long oid) protected ClobmakeClob(long oid) protected SQLXMLprepareCall(String sql) prepareCall(String sql, int resultSetType, int resultSetConcurrency) prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) prepareStatement(String sql) prepareStatement(String sql, int autoGeneratedKeys) prepareStatement(String sql, int @Nullable [] columnIndexes) prepareStatement(String sql, int resultSetType, int resultSetConcurrency) prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) prepareStatement(String sql, String @Nullable [] columnNames) voidInvoke purge() on the underlying shared Timer so that internal resources will be released.voidreleaseSavepoint(Savepoint savepoint) voidrollback()voidvoidsetAdaptiveFetch(boolean adaptiveFetch) Turn on/off adaptive fetch for connection.voidsetAutoCommit(boolean autoCommit) voidsetAutosave(AutoSave autoSave) Configures if connection should use automatic savepoints.voidsetCatalog(String catalog) voidsetClientInfo(String name, @Nullable String value) voidsetClientInfo(Properties properties) voidsetCursorName(String cursor) In SQL, a result table can be retrieved through a cursor that is named.voidsetDefaultFetchSize(int fetchSize) Set the default fetch size for statements created from this connection.voidsetDisableColumnSanitiser(boolean disableColumnSanitiser) voidsetFlushCacheOnDeallocate(boolean flushCacheOnDeallocate) By default, the connection resets statement cache in case deallocate all/discard all message is observed.voidsetForceBinary(boolean newValue) voidsetHoldability(int holdability) voidsetNetworkTimeout(@Nullable Executor executor, int milliseconds) voidsetPrepareThreshold(int newThreshold) Set the default statement reuse threshold before enabling server-side prepare.voidsetReadOnly(boolean readOnly) setSavepoint(String name) voidvoidsetTransactionIsolation(int level) voidsetTypeMap(Map<String, Class<?>> map) voidsetTypeMapImpl(Map<String, Class<?>> map) <T> TMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.sql.Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValidMethods inherited from interface org.postgresql.PGConnection
alterUserPassword
-
Field Details
-
prepareThreshold
protected int prepareThreshold -
defaultFetchSize
protected int defaultFetchSizeDefault fetch size for statement.- See Also:
-
forcebinary
protected boolean forcebinary -
typemap
The current type mappings. -
metadata
-
-
Constructor Details
-
PgConnection
- Throws:
SQLException
-
-
Method Details
-
createQuery
public CachedQuery createQuery(String sql, boolean escapeProcessing, boolean isParameterized, String... columnNames) throws SQLException - Specified by:
createQueryin interfaceBaseConnection- Throws:
SQLException
-
setFlushCacheOnDeallocate
public void setFlushCacheOnDeallocate(boolean flushCacheOnDeallocate) Description copied from interface:BaseConnectionBy default, the connection resets statement cache in case deallocate all/discard all message is observed. This API allows to disable that feature for testing purposes.- Specified by:
setFlushCacheOnDeallocatein interfaceBaseConnection- Parameters:
flushCacheOnDeallocate- true if statement cache should be reset when "deallocate/discard" message observed
-
getTimestampUtils
Deprecated.- Specified by:
getTimestampUtilsin interfaceBaseConnection
-
createStatement
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
getTypeMap
- Specified by:
getTypeMapin interfaceConnection- Throws:
SQLException
-
getQueryExecutor
Description copied from interface:BaseConnectionGet the QueryExecutor implementation for this connection.- Specified by:
getQueryExecutorin interfaceBaseConnection- Returns:
- the (non-null) executor
-
getReplicationProtocol
Description copied from interface:BaseConnectionInternal protocol for work with physical and logical replication. Physical replication available only since PostgreSQL version 9.1. Logical replication available only since PostgreSQL version 9.4.- Specified by:
getReplicationProtocolin interfaceBaseConnection- Returns:
- not null replication protocol
-
addWarning
This adds a warning to the warning chain.- Parameters:
warn- warning to add
-
execSQLQuery
Description copied from interface:BaseConnectionExecute a SQL query that returns a single resultset. Never causes a new transaction to be started regardless of the autocommit setting.- Specified by:
execSQLQueryin interfaceBaseConnection- Parameters:
s- the query to execute- Returns:
- the (non-null) returned resultset
- Throws:
SQLException- if something goes wrong.
-
execSQLQuery
public ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurrency) throws SQLException - Specified by:
execSQLQueryin interfaceBaseConnection- Throws:
SQLException
-
execSQLUpdate
Description copied from interface:BaseConnectionExecute a SQL query that does not return results. Never causes a new transaction to be started regardless of the autocommit setting.- Specified by:
execSQLUpdatein interfaceBaseConnection- Parameters:
s- the query to execute- Throws:
SQLException- if something goes wrong.
-
setCursorName
In SQL, a result table can be retrieved through a cursor that is named. The current row of a result can be updated or deleted using a positioned update/delete statement that references the cursor name.
We do not support positioned update/delete, so this is a no-op.
- Parameters:
cursor- the cursor name- Throws:
SQLException- if a database access error occurs
-
getCursorName
getCursorName gets the cursor name.- Returns:
- the current cursor name
- Throws:
SQLException- if a database access error occurs
-
getURL
We are required to bring back certain information by the DatabaseMetaData class. These functions do that.
Method getURL() brings back the URL (good job we saved it)
- Returns:
- the url
- Throws:
SQLException- just in case...
-
getUserName
Method getUserName() brings back the User Name (again, we saved it).- Returns:
- the user name
- Throws:
SQLException- just in case...
-
getFastpathAPI
Description copied from interface:PGConnectionThis returns the Fastpath API for the current connection.- Specified by:
getFastpathAPIin interfacePGConnection- Returns:
- Fastpath API for the current connection
- Throws:
SQLException- if something wrong happens
-
getLargeObjectAPI
Description copied from interface:PGConnectionThis returns the LargeObject API for the current connection.- Specified by:
getLargeObjectAPIin interfacePGConnection- Returns:
- LargeObject API for the current connection
- Throws:
SQLException- if something wrong happens
-
getObject
public Object getObject(String type, @Nullable String value, byte @Nullable [] byteValue) throws SQLException Description copied from interface:BaseConnectionConstruct and return an appropriate object for the given type and value. This only considers the types registered via
PGConnection.addDataType(String, Class)andPGConnection.addDataType(String, String).If no class is registered as handling the given type, then a generic
PGobjectinstance is returned.value or byteValue must be non-null
- Specified by:
getObjectin interfaceBaseConnection- Parameters:
type- the backend typenamevalue- the type-specific string representation of the valuebyteValue- the type-specific binary representation of the value- Returns:
- an appropriate object; never null.
- Throws:
SQLException- if something goes wrong
-
createTypeInfo
-
getTypeInfo
- Specified by:
getTypeInfoin interfaceBaseConnection
-
addDataType
Description copied from interface:PGConnectionThis allows client code to add a handler for one of org.postgresql's more unique data types. It is approximately equivalent toaddDataType(type, Class.forName(name)).- Specified by:
addDataTypein interfacePGConnection- Parameters:
type- JDBC type namename- class name
-
addDataType
Description copied from interface:PGConnectionThis allows client code to add a handler for one of org.postgresql's more unique data types.
NOTE: This is not part of JDBC, but an extension.
The best way to use this is as follows:
... ((org.postgresql.PGConnection)myconn).addDataType("mytype", my.class.name.class); ...where myconn is an open Connection to org.postgresql.
The handling class must extend org.postgresql.util.PGobject
- Specified by:
addDataTypein interfacePGConnection- Parameters:
type- the PostgreSQL type to registerklass- the class implementing the Java representation of the type; this class must implementPGobject).- Throws:
SQLException- ifklassdoes not implementPGobject).- See Also:
-
close
Note: even thoughStatementis automatically closed when it is garbage collected, it is better to close it explicitly to lower resource consumption. The spec says that calling close on a closed connection is a no-op.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnection- Throws:
SQLException
-
nativeSQL
- Specified by:
nativeSQLin interfaceConnection- Throws:
SQLException
-
getWarnings
- Specified by:
getWarningsin interfaceConnection- Throws:
SQLException
-
clearWarnings
- Specified by:
clearWarningsin interfaceConnection- Throws:
SQLException
-
setReadOnly
- Specified by:
setReadOnlyin interfaceConnection- Throws:
SQLException
-
isReadOnly
- Specified by:
isReadOnlyin interfaceConnection- Throws:
SQLException
-
hintReadOnly
public boolean hintReadOnly()Description copied from interface:BaseConnectionIndicates if statements to backend should be hinted as read only.- Specified by:
hintReadOnlyin interfaceBaseConnection- Returns:
- Indication if hints to backend (such as when transaction begins) should be read only.
- See Also:
-
setAutoCommit
- Specified by:
setAutoCommitin interfaceConnection- Throws:
SQLException
-
getAutoCommit
- Specified by:
getAutoCommitin interfaceConnection- Throws:
SQLException
-
commit
- Specified by:
commitin interfaceConnection- Throws:
SQLException
-
checkClosed
- Throws:
SQLException
-
rollback
- Specified by:
rollbackin interfaceConnection- Throws:
SQLException
-
getTransactionState
Description copied from interface:BaseConnectionGet the current transaction state of this connection.- Specified by:
getTransactionStatein interfaceBaseConnection- Returns:
- current transaction state of this connection
-
getTransactionIsolation
- Specified by:
getTransactionIsolationin interfaceConnection- Throws:
SQLException
-
setTransactionIsolation
- Specified by:
setTransactionIsolationin interfaceConnection- Throws:
SQLException
-
getIsolationLevelName
-
setCatalog
- Specified by:
setCatalogin interfaceConnection- Throws:
SQLException
-
getCatalog
- Specified by:
getCatalogin interfaceConnection- Throws:
SQLException
-
getHideUnprivilegedObjects
public boolean getHideUnprivilegedObjects() -
getDBVersionNumber
Get server version number.- Returns:
- server version number
-
getServerMajorVersion
public int getServerMajorVersion()Get server major version.- Returns:
- server major version
-
getServerMinorVersion
public int getServerMinorVersion()Get server minor version.- Returns:
- server minor version
-
haveMinimumServerVersion
public boolean haveMinimumServerVersion(int ver) Description copied from interface:BaseConnectionCheck if we have at least a particular server version.
The input version is of the form xxyyzz, matching a PostgreSQL version like xx.yy.zz. So 9.0.12 is 90012.
- Specified by:
haveMinimumServerVersionin interfaceBaseConnection- Parameters:
ver- the server version to check, of the form xxyyzz eg 90401- Returns:
- true if the server version is at least "ver".
-
haveMinimumServerVersion
Description copied from interface:BaseConnectionCheck if we have at least a particular server version.
The input version is of the form xxyyzz, matching a PostgreSQL version like xx.yy.zz. So 9.0.12 is 90012.
- Specified by:
haveMinimumServerVersionin interfaceBaseConnection- Parameters:
ver- the server version to check- Returns:
- true if the server version is at least "ver".
-
getEncoding
- Specified by:
getEncodingin interfaceBaseConnection
-
encodeString
Description copied from interface:BaseConnectionEncode a string using the database's client_encoding (usually UTF8, but can vary on older server versions). This is used when constructing synthetic resultsets (for example, in metadata methods).- Specified by:
encodeStringin interfaceBaseConnection- Parameters:
str- the string to encode- Returns:
- an encoded representation of the string
- Throws:
SQLException- if something goes wrong.
-
escapeString
Description copied from interface:BaseConnectionEscapes a string for use as string-literal within an SQL command. The method chooses the applicable escaping rules based on the value ofBaseConnection.getStandardConformingStrings().- Specified by:
escapeStringin interfaceBaseConnection- Parameters:
str- a string value- Returns:
- the escaped representation of the string
- Throws:
SQLException- if the string contains a\0character
-
getStandardConformingStrings
public boolean getStandardConformingStrings()Description copied from interface:BaseConnectionReturns whether the server treats string-literals according to the SQL standard or if it uses traditional PostgreSQL escaping rules. Versions up to 8.1 always treated backslashes as escape characters in string-literals. Since 8.2, this depends on the value of thestandard_conforming_stringsserver variable.- Specified by:
getStandardConformingStringsin interfaceBaseConnection- Returns:
- true if the server treats string literals according to the SQL standard
- See Also:
-
isClosed
- Specified by:
isClosedin interfaceConnection- Throws:
SQLException
-
cancelQuery
Description copied from interface:BaseConnectionCancel the current query executing on this connection.- Specified by:
cancelQueryin interfaceBaseConnection- Specified by:
cancelQueryin interfacePGConnection- Throws:
SQLException- if something goes wrong.
-
getNotifications
Description copied from interface:PGConnectionThis method returns any notifications that have been received since the last call to this method. Returns null if there have been no notifications.- Specified by:
getNotificationsin interfacePGConnection- Returns:
- notifications that have been received
- Throws:
SQLException- if something wrong happens
-
getNotifications
Description copied from interface:PGConnectionThis method returns any notifications that have been received since the last call to this method. Returns null if there have been no notifications. A timeout can be specified so the driver waits for notifications.- Specified by:
getNotificationsin interfacePGConnection- Parameters:
timeoutMillis- when 0, blocks forever. when > 0, blocks up to the specified number of millis or until at least one notification has been received. If more than one notification is about to be received, these will be returned in one batch.- Returns:
- notifications that have been received
- Throws:
SQLException- if something wrong happens
-
getPrepareThreshold
public int getPrepareThreshold()Description copied from interface:PGConnectionGet the default server-side prepare reuse threshold for statements created from this connection.- Specified by:
getPrepareThresholdin interfacePGConnection- Returns:
- the current threshold
-
setDefaultFetchSize
Description copied from interface:PGConnectionSet the default fetch size for statements created from this connection.- Specified by:
setDefaultFetchSizein interfacePGConnection- Parameters:
fetchSize- new default fetch size- Throws:
SQLException- if specified negativefetchSizeparameter- See Also:
-
getDefaultFetchSize
public int getDefaultFetchSize()Description copied from interface:PGConnectionGet the default fetch size for statements created from this connection.- Specified by:
getDefaultFetchSizein interfacePGConnection- Returns:
- current state for default fetch size
- See Also:
-
setPrepareThreshold
public void setPrepareThreshold(int newThreshold) Description copied from interface:PGConnectionSet the default statement reuse threshold before enabling server-side prepare. SeePGStatement.setPrepareThreshold(int)for details.- Specified by:
setPrepareThresholdin interfacePGConnection- Parameters:
newThreshold- the new threshold
-
getForceBinary
public boolean getForceBinary() -
setForceBinary
public void setForceBinary(boolean newValue) -
setTypeMapImpl
- Throws:
SQLException
-
getLogger
- Specified by:
getLoggerin interfaceBaseConnection
-
getProtocolVersion
public int getProtocolVersion() -
getStringVarcharFlag
public boolean getStringVarcharFlag()- Specified by:
getStringVarcharFlagin interfaceBaseConnection
-
getCopyAPI
Description copied from interface:PGConnectionThis returns the COPY API for the current connection.- Specified by:
getCopyAPIin interfacePGConnection- Returns:
- COPY API for the current connection
- Throws:
SQLException- if something wrong happens
-
binaryTransferSend
public boolean binaryTransferSend(int oid) Description copied from interface:BaseConnectionReturns true if value for the given oid should be sent using binary transfer. False if value should be sent using text transfer.- Specified by:
binaryTransferSendin interfaceBaseConnection- Parameters:
oid- The oid to check.- Returns:
- True for binary transfer, false for text transfer.
-
getBackendPID
public int getBackendPID()Description copied from interface:PGConnectionReturn the process ID (PID) of the backend server process handling this connection.- Specified by:
getBackendPIDin interfacePGConnection- Returns:
- PID of backend server process.
-
isColumnSanitiserDisabled
public boolean isColumnSanitiserDisabled()Description copied from interface:BaseConnectionReturn whether to disable column name sanitation.- Specified by:
isColumnSanitiserDisabledin interfaceBaseConnection- Returns:
- true column sanitizer is disabled
-
setDisableColumnSanitiser
public void setDisableColumnSanitiser(boolean disableColumnSanitiser) -
getPreferQueryMode
Description copied from interface:PGConnectionReturns the query mode for this connection.
When running in simple query mode, certain features are not available: callable statements, partial result set fetch, bytea type, etc.
The list of supported features is subject to change.
- Specified by:
getPreferQueryModein interfacePGConnection- Returns:
- the preferred query mode
- See Also:
-
getAutosave
Description copied from interface:PGConnectionConnection configuration regarding automatic per-query savepoints.- Specified by:
getAutosavein interfacePGConnection- Returns:
- connection configuration regarding automatic per-query savepoints
- See Also:
-
setAutosave
Description copied from interface:PGConnectionConfigures if connection should use automatic savepoints.- Specified by:
setAutosavein interfacePGConnection- Parameters:
autoSave- connection configuration regarding automatic per-query savepoints- See Also:
-
abort
protected void abort() -
addTimerTask
Description copied from interface:BaseConnectionSchedule a TimerTask for later execution. The task will be scheduled with the shared Timer for this connection.- Specified by:
addTimerTaskin interfaceBaseConnection- Parameters:
timerTask- timer task to schedulemilliSeconds- delay in milliseconds
-
purgeTimerTasks
public void purgeTimerTasks()Description copied from interface:BaseConnectionInvoke purge() on the underlying shared Timer so that internal resources will be released.- Specified by:
purgeTimerTasksin interfaceBaseConnection
-
escapeIdentifier
Description copied from interface:PGConnectionReturn the given string suitably quoted to be used as an identifier in an SQL statement string. Quotes are added only if necessary (i.e., if the string contains non-identifier characters or would be case-folded). Embedded quotes are properly doubled.- Specified by:
escapeIdentifierin interfacePGConnection- Parameters:
identifier- input identifier- Returns:
- the escaped identifier
- Throws:
SQLException- if something goes wrong
-
escapeLiteral
Description copied from interface:PGConnectionReturn the given string suitably quoted to be used as a string literal in an SQL statement string. Embedded single-quotes and backslashes are properly doubled. Note that quote_literal returns null on null input.- Specified by:
escapeLiteralin interfacePGConnection- Parameters:
literal- input literal- Returns:
- the quoted literal
- Throws:
SQLException- if something goes wrong
-
getFieldMetadataCache
Description copied from interface:BaseConnectionReturn metadata cache for given connection.- Specified by:
getFieldMetadataCachein interfaceBaseConnection- Returns:
- metadata cache
-
getReplicationAPI
- Specified by:
getReplicationAPIin interfacePGConnection- Returns:
- replication API for the current connection
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException - Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException - Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException - Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
getMetaData
- Specified by:
getMetaDatain interfaceConnection- Throws:
SQLException
-
setTypeMap
- Specified by:
setTypeMapin interfaceConnection- Throws:
SQLException
-
makeArray
- Throws:
SQLException
-
makeBlob
- Throws:
SQLException
-
makeClob
- Throws:
SQLException
-
makeSQLXML
- Throws:
SQLException
-
createClob
- Specified by:
createClobin interfaceConnection- Throws:
SQLException
-
createBlob
- Specified by:
createBlobin interfaceConnection- Throws:
SQLException
-
createNClob
- Specified by:
createNClobin interfaceConnection- Throws:
SQLException
-
createSQLXML
- Specified by:
createSQLXMLin interfaceConnection- Throws:
SQLException
-
createStruct
- Specified by:
createStructin interfaceConnection- Throws:
SQLException
-
createArrayOf
Description copied from interface:PGConnectionCreates anArraywrapping elements. This is similar toConnection.createArrayOf(String, Object[]), but also provides support for primitive arrays.- Specified by:
createArrayOfin interfacePGConnection- Parameters:
typeName- The SQL name of the type to map the elements to. Must not benull.elements- The array of objects to map. Anullvalue will result in anArrayrepresentingnull.- Returns:
- An
Arraywrapping elements. - Throws:
SQLException- If for some reason the array cannot be created.- See Also:
-
createArrayOf
public Array createArrayOf(String typeName, @Nullable Object @Nullable [] elements) throws SQLException - Specified by:
createArrayOfin interfaceConnection- Throws:
SQLException
-
isValid
- Specified by:
isValidin interfaceConnection- Throws:
SQLException
-
setClientInfo
- Specified by:
setClientInfoin interfaceConnection- Throws:
SQLClientInfoException
-
setClientInfo
- Specified by:
setClientInfoin interfaceConnection- Throws:
SQLClientInfoException
-
getClientInfo
- Specified by:
getClientInfoin interfaceConnection- Throws:
SQLException
-
getClientInfo
- Specified by:
getClientInfoin interfaceConnection- Throws:
SQLException
-
createQueryObject
- Throws:
SQLException
-
getLogServerErrorDetail
public boolean getLogServerErrorDetail()Description copied from interface:BaseConnectionIndicates if error details from server used in included in logging and exceptions.- Specified by:
getLogServerErrorDetailin interfaceBaseConnection- Returns:
- true if should be included and passed on to other exceptions
-
isWrapperFor
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
unwrap
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
getSchema
- Specified by:
getSchemain interfaceConnection- Throws:
SQLException
-
setSchema
- Specified by:
setSchemain interfaceConnection- Throws:
SQLException
-
abort
- Specified by:
abortin interfaceConnection- Throws:
SQLException
-
setNetworkTimeout
- Specified by:
setNetworkTimeoutin interfaceConnection- Throws:
SQLException
-
getNetworkTimeout
- Specified by:
getNetworkTimeoutin interfaceConnection- Throws:
SQLException
-
setHoldability
- Specified by:
setHoldabilityin interfaceConnection- Throws:
SQLException
-
getHoldability
- Specified by:
getHoldabilityin interfaceConnection- Throws:
SQLException
-
setSavepoint
- Specified by:
setSavepointin interfaceConnection- Throws:
SQLException
-
setSavepoint
- Specified by:
setSavepointin interfaceConnection- Throws:
SQLException
-
rollback
- Specified by:
rollbackin interfaceConnection- Throws:
SQLException
-
releaseSavepoint
- Specified by:
releaseSavepointin interfaceConnection- Throws:
SQLException
-
createStatement
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException - Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException - Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int @Nullable [] columnIndexes) throws SQLException - Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String @Nullable [] columnNames) throws SQLException - Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
getParameterStatuses
Description copied from interface:PGConnectionReturns the current values of all parameters reported by the server.
PostgreSQL reports values for a subset of parameters (GUCs) to the client at connect-time, then sends update messages whenever the values change during a session. PgJDBC records the latest values and exposes it to client applications via
getParameterStatuses().PgJDBC exposes individual accessors for some of these parameters as listed below. They are more backwards-compatible and should be preferred where possible.
Not all parameters are reported, only those marked
GUC_REPORTin the source code. Thepg_settingsview does not expose information about which parameters are reportable. PgJDBC's map will only contain the parameters the server reports values for, so you cannot use this method as a substitute for running aSHOW paramname;orSELECT current_setting('paramname');query for arbitrary parameters.Parameter names are case-insensitive and case-preserving in this map, like in PostgreSQL itself. So
DateStyleanddatestyleare the same key.As of PostgreSQL 11 the reportable parameter list, and related PgJDBC interfaces or assessors, are:
-
application_name-Connection.getClientInfo(),Connection.setClientInfo(java.util.Properties)andApplicationNameconnection property. -
client_encoding- PgJDBC always sets this toUTF8. SeeallowEncodingChangesconnection property. DateStyle- PgJDBC requires this to always be set toISOstandard_conforming_strings- indirectly viaPGConnection.escapeLiteral(String)-
TimeZone- set from JDK timezone seeTimeZone.getDefault()andTimeZone.setDefault(TimeZone) integer_datetimesIntervalStyleserver_encodingserver_versionis_superusersession_authorization
Note that some PgJDBC operations will change server parameters automatically.
- Specified by:
getParameterStatusesin interfacePGConnection- Returns:
- unmodifiable map of case-insensitive parameter names to parameter values
-
-
getParameterStatus
Description copied from interface:PGConnectionShorthand for getParameterStatuses().get(...) .- Specified by:
getParameterStatusin interfacePGConnection- Parameters:
parameterName- case-insensitive parameter name- Returns:
- parameter value if defined, or null if no parameter known
- See Also:
-
getAdaptiveFetch
public boolean getAdaptiveFetch()Description copied from interface:PGConnectionGet state of adaptive fetch for connection.- Specified by:
getAdaptiveFetchin interfacePGConnection- Returns:
- state of adaptive fetch (turned on or off)
-
setAdaptiveFetch
public void setAdaptiveFetch(boolean adaptiveFetch) Description copied from interface:PGConnectionTurn on/off adaptive fetch for connection. Existing statements and resultSets won't be affected by change here.- Specified by:
setAdaptiveFetchin interfacePGConnection- Parameters:
adaptiveFetch- desired state of adaptive fetch.
-
getXmlFactoryFactory
Description copied from interface:BaseConnectionRetrieve the factory to instantiate XML processing factories.- Specified by:
getXmlFactoryFactoryin interfaceBaseConnection- Returns:
- The factory to use to instantiate XML processing factories
- Throws:
SQLException- if the class cannot be found or instantiated.
-