Top Fields Constructors Methods
org.postgresql.jdbc

public Class PgDatabaseMetaData

extends Object
implements DatabaseMetaData
Class Inheritance
All Implemented Interfaces
java.sql.DatabaseMetaData, java.sql.Wrapper
Static Imports
org.postgresql.util.internal.Nullness.castNonNull

Field Summary

Modifier and TypeField and Description
protected final PgConnection
private int
private @Nullable String
private int
private static final Map<String, Map<String, String>>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static void
addACLPrivileges(String acl, Map<String, Map<String, List<@Nullable String[]>>> privileges)

Add the user described by the given acl to the Lists of users with the privileges described by the acl.

public boolean
allProceduresAreCallable()

Implements java.sql.DatabaseMetaData.allProceduresAreCallable.

Retrieves whether the current user can call all the procedures returned by the method getProcedures.

public boolean
allTablesAreSelectable()

Implements java.sql.DatabaseMetaData.allTablesAreSelectable.

Retrieves whether the current user can use all the tables returned by the method getTables in a SELECT statement.

public boolean
autoCommitFailureClosesAllResultSets()

Implements java.sql.DatabaseMetaData.autoCommitFailureClosesAllResultSets.

Retrieves whether a SQLException while autoCommit is true indicates that all open ResultSets are closed, even ones that are holdable.

protected Statement
public boolean

Returns:

true if so
dataDefinitionCausesTransactionCommit
()

Implements java.sql.DatabaseMetaData.dataDefinitionCausesTransactionCommit.

Does a data definition statement within a transaction force the transaction to commit?

public boolean
dataDefinitionIgnoredInTransactions()

Implements java.sql.DatabaseMetaData.dataDefinitionIgnoredInTransactions.

Retrieves whether this database ignores a data definition statement within a transaction.

public boolean
deletesAreDetected(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
i
)

Implements java.sql.DatabaseMetaData.deletesAreDetected.

Retrieves whether or not a visible row delete can be detected by calling the method ResultSet.rowDeleted.

public boolean
doesMaxRowSizeIncludeBlobs()

Implements java.sql.DatabaseMetaData.doesMaxRowSizeIncludeBlobs.

Retrieves whether the return value for the method getMaxRowSize includes the SQL data types LONGVARCHAR and LONGVARBINARY.

protected String

Returns:

string literal for direct inclusion into a query
escapeQuotes
(String
input value
s
)

Turn the provided value into a valid string literal for direct inclusion into a query.

public boolean
generatedKeyAlwaysReturned()

Implements java.sql.DatabaseMetaData.generatedKeyAlwaysReturned.

Retrieves whether a generated key will always be returned if the column name(s) or index(es) specified for the auto generated key column(s) are valid and the statement succeeds.

public ResultSet
getAttributes(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a type name pattern; must match the type name as it is stored in the database
typeNamePattern
,
@Nullable String
an attribute name pattern; must match the attribute name as it is declared in the database
attributeNamePattern
)

Implements java.sql.DatabaseMetaData.getAttributes.

Retrieves a description of the given attribute of the given type for a user-defined type (UDT) that is available in the given schema and catalog.

public ResultSet
getBestRowIdentifier(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in the database
table
,
int
the scope of interest; use same values as SCOPE
scope
,
boolean
include columns that are nullable.
nullable
)

Implements java.sql.DatabaseMetaData.getBestRowIdentifier.

Retrieves a description of a table's optimal set of columns that uniquely identifies a row.

public ResultSet
getCatalogs()

Implements java.sql.DatabaseMetaData.getCatalogs.

Retrieves the catalog names available in this database.

public String
getCatalogSeparator()

Implements java.sql.DatabaseMetaData.getCatalogSeparator.

Retrieves the String that this database uses as the separator between a catalog and table name.

public String

Returns:

"database"
getCatalogTerm
()

Implements java.sql.DatabaseMetaData.getCatalogTerm.

Retrieves the database vendor's preferred term for "catalog".

public ResultSet
getClientInfoProperties()

Implements java.sql.DatabaseMetaData.getClientInfoProperties.

Retrieves a list of the client info properties that the driver supports.

public ResultSet
getColumnPrivileges(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in the database
table
,
@Nullable String
a column name pattern; must match the column name as it is stored in the database
columnNamePattern
)

Implements java.sql.DatabaseMetaData.getColumnPrivileges.

Retrieves a description of the access rights for a table's columns.

public ResultSet
getColumns(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a table name pattern; must match the table name as it is stored in the database
tableNamePattern
,
@Nullable String
a column name pattern; must match the column name as it is stored in the database
columnNamePattern
)

Implements java.sql.DatabaseMetaData.getColumns.

Retrieves a description of table columns available in the specified catalog.

public Connection
getConnection()

Implements java.sql.DatabaseMetaData.getConnection.

Retrieves the connection that produced this metadata object.

public ResultSet
getCrossReference(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
primaryCatalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means drop schema name from the selection criteria
primarySchema
,
String
the name of the table that exports the key; must match the table name as it is stored in the database
primaryTable
,
@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
foreignCatalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means drop schema name from the selection criteria
foreignSchema
,
String
the name of the table that imports the key; must match the table name as it is stored in the database
foreignTable
)

Implements java.sql.DatabaseMetaData.getCrossReference.

Retrieves a description of the foreign key columns in the given foreign key table that reference the primary key or the columns representing a unique constraint of the parent table (could be the same or a different table).

public int
getDatabaseMajorVersion()

Implements java.sql.DatabaseMetaData.getDatabaseMajorVersion.

Retrieves the major version number of the underlying database.

public int
getDatabaseMinorVersion()

Implements java.sql.DatabaseMetaData.getDatabaseMinorVersion.

Retrieves the minor version number of the underlying database.

public String

Returns:

"PostgreSQL"
getDatabaseProductName
()

Implements java.sql.DatabaseMetaData.getDatabaseProductName.

Retrieves the name of this database product.

public String
getDatabaseProductVersion()

Implements java.sql.DatabaseMetaData.getDatabaseProductVersion.

Retrieves the version number of this database product.

public int
getDefaultTransactionIsolation()

Implements java.sql.DatabaseMetaData.getDefaultTransactionIsolation.

Retrieves this database's default transaction isolation level.

public int
getDriverMajorVersion()

Implements java.sql.DatabaseMetaData.getDriverMajorVersion.

Retrieves this JDBC driver's major version number.

public int
getDriverMinorVersion()

Implements java.sql.DatabaseMetaData.getDriverMinorVersion.

Retrieves this JDBC driver's minor version number.

public String
getDriverName()

Implements java.sql.DatabaseMetaData.getDriverName.

Retrieves the name of this JDBC driver.

public String
getDriverVersion()

Implements java.sql.DatabaseMetaData.getDriverVersion.

Retrieves the version number of this JDBC driver as a String.

public ResultSet
getExportedKeys(@Nullable String
a catalog name; must match the catalog name as it is stored in this database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in this database
table
)

Implements java.sql.DatabaseMetaData.getExportedKeys.

Retrieves a description of the foreign key columns that reference the given table's primary key columns (the foreign keys exported by a table).

public String

Returns:

a string containing the extra characters
getExtraNameCharacters
()

Implements java.sql.DatabaseMetaData.getExtraNameCharacters.

Retrieves all the "extra" characters that can be used in unquoted identifier names (those beyond a-z, A-Z, 0-9 and _).

public ResultSet
getFunctionColumns(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a procedure name pattern; must match the function name as it is stored in the database
functionNamePattern
,
@Nullable String
a parameter name pattern; must match the parameter or column name as it is stored in the database
columnNamePattern
)

Implements java.sql.DatabaseMetaData.getFunctionColumns.

Retrieves a description of the given catalog's system or user function parameters and return type.

public ResultSet
getFunctions(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a function name pattern; must match the function name as it is stored in the database
functionNamePattern
)

Implements java.sql.DatabaseMetaData.getFunctions.

Retrieves a description of the system and user functions available in the given catalog.

public String

Returns:

the quoting string
getIdentifierQuoteString
()

Implements java.sql.DatabaseMetaData.getIdentifierQuoteString.

What is the string used to quote SQL identifiers?

protected ResultSet

Returns:

ResultSet
getImportedExportedKeys
(@Nullable String
primary catalog
primaryCatalog
,
@Nullable String
primary schema
primarySchema
,
@Nullable String
if provided will get the keys exported by this table
primaryTable
,
@Nullable String
foreign catalog
foreignCatalog
,
@Nullable String
foreign schema
foreignSchema
,
@Nullable String
if provided will get the keys imported by this table
foreignTable
)

public ResultSet
getImportedKeys(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in the database
table
)

Implements java.sql.DatabaseMetaData.getImportedKeys.

Retrieves a description of the primary key columns that are referenced by the given table's foreign key columns (the primary keys imported by a table).

public ResultSet
getIndexInfo(@Nullable String
a catalog name; must match the catalog name as it is stored in this database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in this database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in this database
tableName
,
boolean
when true, return only indices for unique values; when false, return indices regardless of whether unique or not
unique
,
boolean
when true, result is allowed to reflect approximate or out of data values; when false, results are requested to be accurate
approximate
)

Implements java.sql.DatabaseMetaData.getIndexInfo.

Retrieves a description of the given table's indices and statistics.

public int
getJDBCMajorVersion()

Implements java.sql.DatabaseMetaData.getJDBCMajorVersion.

Retrieves the major JDBC version number for this driver.

public int
getJDBCMinorVersion()

Implements java.sql.DatabaseMetaData.getJDBCMinorVersion.

Retrieves the minor JDBC version number for this driver.

public int
getMaxBinaryLiteralLength()

Implements java.sql.DatabaseMetaData.getMaxBinaryLiteralLength.

Retrieves the maximum number of hex characters this database allows in an inline binary literal.

public int
getMaxCatalogNameLength()

Implements java.sql.DatabaseMetaData.getMaxCatalogNameLength.

Retrieves the maximum number of characters that this database allows in a catalog name.

public int
getMaxCharLiteralLength()

Implements java.sql.DatabaseMetaData.getMaxCharLiteralLength.

Retrieves the maximum number of characters this database allows for a character literal.

public int
getMaxColumnNameLength()

Implements java.sql.DatabaseMetaData.getMaxColumnNameLength.

Retrieves the maximum number of characters this database allows for a column name.

public int
getMaxColumnsInGroupBy()

Implements java.sql.DatabaseMetaData.getMaxColumnsInGroupBy.

Retrieves the maximum number of columns this database allows in a GROUP BY clause.

public int
getMaxColumnsInIndex()

Implements java.sql.DatabaseMetaData.getMaxColumnsInIndex.

Retrieves the maximum number of columns this database allows in an index.

public int
getMaxColumnsInOrderBy()

Implements java.sql.DatabaseMetaData.getMaxColumnsInOrderBy.

Retrieves the maximum number of columns this database allows in an ORDER BY clause.

public int
getMaxColumnsInSelect()

Implements java.sql.DatabaseMetaData.getMaxColumnsInSelect.

Retrieves the maximum number of columns this database allows in a SELECT list.

public int

Returns:

the max columns
getMaxColumnsInTable
()

Implements java.sql.DatabaseMetaData.getMaxColumnsInTable.

Retrieves the maximum number of columns this database allows in a table.

public int

Returns:

the maximum number of connections
getMaxConnections
()

Implements java.sql.DatabaseMetaData.getMaxConnections.

Retrieves the maximum number of concurrent connections to this database that are possible.

public int
getMaxCursorNameLength()

Implements java.sql.DatabaseMetaData.getMaxCursorNameLength.

Retrieves the maximum number of characters that this database allows in a cursor name.

protected int
public int
getMaxIndexLength()

Implements java.sql.DatabaseMetaData.getMaxIndexLength.

Retrieves the maximum number of bytes this database allows for an index, including all of the parts of the index.

public long
getMaxLogicalLobSize()

Overrides default java.sql.DatabaseMetaData.getMaxLogicalLobSize.

Retrieves the maximum number of bytes this database allows for the logical size for a LOB.

protected int
public int
getMaxProcedureNameLength()

Implements java.sql.DatabaseMetaData.getMaxProcedureNameLength.

Retrieves the maximum number of characters that this database allows in a procedure name.

public int
getMaxRowSize()

Implements java.sql.DatabaseMetaData.getMaxRowSize.

Retrieves the maximum number of bytes this database allows in a single row.

public int
getMaxSchemaNameLength()

Implements java.sql.DatabaseMetaData.getMaxSchemaNameLength.

Retrieves the maximum number of characters that this database allows in a schema name.

public int
getMaxStatementLength()

Implements java.sql.DatabaseMetaData.getMaxStatementLength.

Retrieves the maximum number of characters this database allows in an SQL statement.

public int
getMaxStatements()

Implements java.sql.DatabaseMetaData.getMaxStatements.

Retrieves the maximum number of active statements to this database that can be open at the same time.

public int
getMaxTableNameLength()

Implements java.sql.DatabaseMetaData.getMaxTableNameLength.

Retrieves the maximum number of characters this database allows in a table name.

public int
getMaxTablesInSelect()

Implements java.sql.DatabaseMetaData.getMaxTablesInSelect.

Retrieves the maximum number of tables this database allows in a SELECT statement.

public int
getMaxUserNameLength()

Implements java.sql.DatabaseMetaData.getMaxUserNameLength.

Retrieves the maximum number of characters this database allows in a user name.

public String
getNumericFunctions()

Implements java.sql.DatabaseMetaData.getNumericFunctions.

Retrieves a comma-separated list of math functions available with this database.

public ResultSet
getPrimaryKeys(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in the database
table
)

Implements java.sql.DatabaseMetaData.getPrimaryKeys.

Retrieves a description of the given table's primary key columns.

protected ResultSet
public ResultSet
getProcedureColumns(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a procedure name pattern; must match the procedure name as it is stored in the database
procedureNamePattern
,
@Nullable String
a column name pattern; must match the column name as it is stored in the database
columnNamePattern
)

Implements java.sql.DatabaseMetaData.getProcedureColumns.

Retrieves a description of the given catalog's stored procedure parameter and result columns.

public ResultSet
getProcedures(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a procedure name pattern; must match the procedure name as it is stored in the database
procedureNamePattern
)

Implements java.sql.DatabaseMetaData.getProcedures.

Retrieves a description of the stored procedures available in the given catalog.

public String

Returns:

"function"
getProcedureTerm
()

Implements java.sql.DatabaseMetaData.getProcedureTerm.

Retrieves the database vendor's preferred term for "procedure".

public ResultSet
getPseudoColumns(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a table name pattern; must match the table name as it is stored in the database
tableNamePattern
,
@Nullable String
a column name pattern; must match the column name as it is stored in the database
columnNamePattern
)

Implements java.sql.DatabaseMetaData.getPseudoColumns.

Retrieves a description of the pseudo or hidden columns available in a given table within the specified catalog and schema.

public int
getResultSetHoldability()

Implements java.sql.DatabaseMetaData.getResultSetHoldability.

Retrieves this database's default holdability for ResultSet objects.

public RowIdLifetime
getRowIdLifetime()

Implements java.sql.DatabaseMetaData.getRowIdLifetime.

Indicates whether this data source supports the SQL ROWID type, and the lifetime for which a RowId object remains valid.

public ResultSet
getSchemas()

Implements java.sql.DatabaseMetaData.getSchemas.

Retrieves the schema names available in this database.

public ResultSet
getSchemas(@Nullable String
a catalog name; must match the catalog name as it is stored in the database;"" retrieves those without a catalog; null means catalog name should not be used to narrow down the search.
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; null means schema name should not be used to narrow down the search.
schemaPattern
)

Implements java.sql.DatabaseMetaData.getSchemas.

Retrieves the schema names available in this database.

public String

Returns:

"schema"
getSchemaTerm
()

Implements java.sql.DatabaseMetaData.getSchemaTerm.

Retrieves the database vendor's preferred term for "schema".

public String
getSearchStringEscape()

Implements java.sql.DatabaseMetaData.getSearchStringEscape.

Retrieves the string that can be used to escape wildcard characters.

public String

Returns:

a comma separated list of keywords we use
getSQLKeywords
()

Implements java.sql.DatabaseMetaData.getSQLKeywords.

Retrieves a comma-separated list of all of this database's SQL keywords that are NOT also SQL:2003 keywords.

public int
getSQLStateType()

Implements java.sql.DatabaseMetaData.getSQLStateType.

Indicates whether the SQLSTATE returned by SQLException.getSQLState is X/Open (now known as Open Group) SQL CLI or SQL:2003.

public String
getStringFunctions()

Implements java.sql.DatabaseMetaData.getStringFunctions.

Retrieves a comma-separated list of string functions available with this database.

public ResultSet
getSuperTables(@Nullable String
a catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
catalog
,
@Nullable String
a schema name pattern; "" retrieves those without a schema
schemaPattern
,
@Nullable String
a table name pattern; may be a fully-qualified name
tableNamePattern
)

Implements java.sql.DatabaseMetaData.getSuperTables.

Retrieves a description of the table hierarchies defined in a particular schema in this database.

public ResultSet
getSuperTypes(@Nullable String
a catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
catalog
,
@Nullable String
a schema name pattern; "" retrieves those without a schema
schemaPattern
,
@Nullable String
a UDT name pattern; may be a fully-qualified name
typeNamePattern
)

Implements java.sql.DatabaseMetaData.getSuperTypes.

Retrieves a description of the user-defined type (UDT) hierarchies defined in a particular schema in this database.

public String
getSystemFunctions()

Implements java.sql.DatabaseMetaData.getSystemFunctions.

Retrieves a comma-separated list of system functions available with this database.

public ResultSet
getTablePrivileges(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a table name pattern; must match the table name as it is stored in the database
tableNamePattern
)

Implements java.sql.DatabaseMetaData.getTablePrivileges.

Retrieves a description of the access rights for each table available in a catalog.

public ResultSet
getTables(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a table name pattern; must match the table name as it is stored in the database
tableNamePattern
,
@Nullable String[]
a list of table types, which must be from the list of table types returned from getTableTypes, to include; null returns all types
types
)

Implements java.sql.DatabaseMetaData.getTables.

Retrieves a description of the tables available in the given catalog.

public ResultSet
getTableTypes()

Implements java.sql.DatabaseMetaData.getTableTypes.

Retrieves the table types available in this database.

public String
getTimeDateFunctions()

Implements java.sql.DatabaseMetaData.getTimeDateFunctions.

Retrieves a comma-separated list of the time and date functions available with this database.

public ResultSet
getTypeInfo()

Implements java.sql.DatabaseMetaData.getTypeInfo.

Retrieves a description of all the data types supported by this database.

public ResultSet
getUDTs(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema pattern name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schemaPattern
,
@Nullable String
a type name pattern; must match the type name as it is stored in the database; may be a fully qualified name
typeNamePattern
,
@Nullable int[]
a list of user-defined types (JAVA_OBJECT, STRUCT, or DISTINCT) to include; null returns all types
types
)

Implements java.sql.DatabaseMetaData.getUDTs.

Retrieves a description of the user-defined types (UDTs) defined in a particular schema.

public String
getURL()

Implements java.sql.DatabaseMetaData.getURL.

Retrieves the URL for this DBMS.

public String
getUserName()

Implements java.sql.DatabaseMetaData.getUserName.

Retrieves the user name as known to this database.

public ResultSet
getVersionColumns(@Nullable String
a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
catalog
,
@Nullable String
a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
schema
,
String
a table name; must match the table name as it is stored in the database
table
)

Implements java.sql.DatabaseMetaData.getVersionColumns.

Retrieves a description of a table's columns that are automatically updated when any value in a row is updated.

public boolean
insertsAreDetected(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.insertsAreDetected.

Retrieves whether or not a visible row insert can be detected by calling the method ResultSet.rowInserted.

public boolean
isCatalogAtStart()

Implements java.sql.DatabaseMetaData.isCatalogAtStart.

Retrieves whether a catalog appears at the start of a fully qualified table name.

public boolean
isReadOnly()

Implements java.sql.DatabaseMetaData.isReadOnly.

Retrieves whether this database is in read-only mode.

public boolean
isWrapperFor(Class<?>
a Class defining an interface.
iface
)

Implements java.sql.Wrapper.isWrapperFor.

Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.

public boolean
locatorsUpdateCopy()

Implements java.sql.DatabaseMetaData.locatorsUpdateCopy.

Indicates whether updates made to a LOB are made on a copy or directly to the LOB.

public boolean
nullPlusNonNullIsNull()

Implements java.sql.DatabaseMetaData.nullPlusNonNullIsNull.

Retrieves whether this database supports concatenations between NULL and non-NULL values being NULL.

public boolean
nullsAreSortedAtEnd()

Implements java.sql.DatabaseMetaData.nullsAreSortedAtEnd.

Retrieves whether NULL values are sorted at the end regardless of sort order.

public boolean
nullsAreSortedAtStart()

Implements java.sql.DatabaseMetaData.nullsAreSortedAtStart.

Retrieves whether NULL values are sorted at the start regardless of sort order.

public boolean
nullsAreSortedHigh()

Implements java.sql.DatabaseMetaData.nullsAreSortedHigh.

Retrieves whether NULL values are sorted high.

public boolean
nullsAreSortedLow()

Implements java.sql.DatabaseMetaData.nullsAreSortedLow.

Retrieves whether NULL values are sorted low.

public boolean
othersDeletesAreVisible(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
i
)

Implements java.sql.DatabaseMetaData.othersDeletesAreVisible.

Retrieves whether deletes made by others are visible.

public boolean
othersInsertsAreVisible(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.othersInsertsAreVisible.

Retrieves whether inserts made by others are visible.

public boolean
othersUpdatesAreVisible(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.othersUpdatesAreVisible.

Retrieves whether updates made by others are visible.

public boolean
ownDeletesAreVisible(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.ownDeletesAreVisible.

Retrieves whether a result set's own deletes are visible.

public boolean
ownInsertsAreVisible(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.ownInsertsAreVisible.

Retrieves whether a result set's own inserts are visible.

public boolean
ownUpdatesAreVisible(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.ownUpdatesAreVisible.

Retrieves whether for the given type of ResultSet object, the result set's own updates are visible.

public Map<String, Map<String, List<@Nullable String[]>>>

Returns:

a Map mapping the SQL permission name
parseACL
(@Nullable String
ACL array
aclArray
,
String
owner
owner
)

Take the a String representing an array of ACLs and return a Map mapping the SQL permission name to a List of usernames who have that permission.

private static List<String>
parseACLArray(String aclString)

Parse an String of ACLs into a List of ACLs.

public boolean
storesLowerCaseIdentifiers()

Implements java.sql.DatabaseMetaData.storesLowerCaseIdentifiers.

Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in lower case.

public boolean
storesLowerCaseQuotedIdentifiers()

Implements java.sql.DatabaseMetaData.storesLowerCaseQuotedIdentifiers.

Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in lower case.

public boolean
storesMixedCaseIdentifiers()

Implements java.sql.DatabaseMetaData.storesMixedCaseIdentifiers.

Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in mixed case.

public boolean
storesMixedCaseQuotedIdentifiers()

Implements java.sql.DatabaseMetaData.storesMixedCaseQuotedIdentifiers.

Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in mixed case.

public boolean
storesUpperCaseIdentifiers()

Implements java.sql.DatabaseMetaData.storesUpperCaseIdentifiers.

Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in upper case.

public boolean
storesUpperCaseQuotedIdentifiers()

Implements java.sql.DatabaseMetaData.storesUpperCaseQuotedIdentifiers.

Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in upper case.

public boolean

Returns:

true if connected to PostgreSQL 6.1+
supportsAlterTableWithAddColumn
()

Implements java.sql.DatabaseMetaData.supportsAlterTableWithAddColumn.

Retrieves whether this database supports ALTER TABLE with add column.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsAlterTableWithDropColumn
()

Implements java.sql.DatabaseMetaData.supportsAlterTableWithDropColumn.

Retrieves whether this database supports ALTER TABLE with drop column.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsANSI92EntryLevelSQL
()

Implements java.sql.DatabaseMetaData.supportsANSI92EntryLevelSQL.

Does this driver support the ANSI-92 entry level SQL grammar?

public boolean

Returns:

false
supportsANSI92FullSQL
()

Implements java.sql.DatabaseMetaData.supportsANSI92FullSQL.

Retrieves whether this database supports the ANSI92 full SQL grammar supported.

public boolean

Returns:

false
supportsANSI92IntermediateSQL
()

Implements java.sql.DatabaseMetaData.supportsANSI92IntermediateSQL.

Retrieves whether this database supports the ANSI92 intermediate SQL grammar supported.

public boolean
supportsBatchUpdates()

Implements java.sql.DatabaseMetaData.supportsBatchUpdates.

Retrieves whether this database supports batch updates.

public boolean
supportsCatalogsInDataManipulation()

Implements java.sql.DatabaseMetaData.supportsCatalogsInDataManipulation.

Retrieves whether a catalog name can be used in a data manipulation statement.

public boolean
supportsCatalogsInIndexDefinitions()

Implements java.sql.DatabaseMetaData.supportsCatalogsInIndexDefinitions.

Retrieves whether a catalog name can be used in an index definition statement.

public boolean
supportsCatalogsInPrivilegeDefinitions()

Implements java.sql.DatabaseMetaData.supportsCatalogsInPrivilegeDefinitions.

Retrieves whether a catalog name can be used in a privilege definition statement.

public boolean
supportsCatalogsInProcedureCalls()

Implements java.sql.DatabaseMetaData.supportsCatalogsInProcedureCalls.

Retrieves whether a catalog name can be used in a procedure call statement.

public boolean
supportsCatalogsInTableDefinitions()

Implements java.sql.DatabaseMetaData.supportsCatalogsInTableDefinitions.

Retrieves whether a catalog name can be used in a table definition statement.

public boolean
supportsColumnAliasing()

Implements java.sql.DatabaseMetaData.supportsColumnAliasing.

Retrieves whether this database supports column aliasing.

public boolean
supportsConvert()

Implements java.sql.DatabaseMetaData.supportsConvert.

Retrieves whether this database supports the JDBC scalar function CONVERT for the conversion of one JDBC type to another.

public boolean
supportsConvert(int
the type to convert from; one of the type codes from the class java.sql.Types
fromType
,
int
the type to convert to; one of the type codes from the class java.sql.Types
toType
)

Implements java.sql.DatabaseMetaData.supportsConvert.

Retrieves whether this database supports the JDBC scalar function CONVERT for conversions between the JDBC types fromType and toType.

public boolean

Returns:

false
supportsCoreSQLGrammar
()

Implements java.sql.DatabaseMetaData.supportsCoreSQLGrammar.

Does this driver support the Core ODBC SQL grammar.

public boolean

Returns:

true if connected to PostgreSQL 7.1+
supportsCorrelatedSubqueries
()

Implements java.sql.DatabaseMetaData.supportsCorrelatedSubqueries.

Retrieves whether this database supports correlated subqueries.

public boolean
supportsDataDefinitionAndDataManipulationTransactions()

Implements java.sql.DatabaseMetaData.supportsDataDefinitionAndDataManipulationTransactions.

Retrieves whether this database supports both data definition and data manipulation statements within a transaction.

public boolean
supportsDataManipulationTransactionsOnly()

Implements java.sql.DatabaseMetaData.supportsDataManipulationTransactionsOnly.

Retrieves whether this database supports only data manipulation statements within a transaction.

public boolean
supportsDifferentTableCorrelationNames()

Implements java.sql.DatabaseMetaData.supportsDifferentTableCorrelationNames.

Retrieves whether, when table correlation names are supported, they are restricted to being different from the names of the tables.

public boolean
supportsExpressionsInOrderBy()

Implements java.sql.DatabaseMetaData.supportsExpressionsInOrderBy.

Retrieves whether this database supports expressions in ORDER BY lists.

public boolean

Returns:

false
supportsExtendedSQLGrammar
()

Implements java.sql.DatabaseMetaData.supportsExtendedSQLGrammar.

Does this driver support the Extended (Level 2) ODBC SQL grammar.

public boolean

Returns:

true if connected to PostgreSQL 7.1+
supportsFullOuterJoins
()

Implements java.sql.DatabaseMetaData.supportsFullOuterJoins.

Retrieves whether this database supports full nested outer joins.

public boolean
supportsGetGeneratedKeys()

Implements java.sql.DatabaseMetaData.supportsGetGeneratedKeys.

Retrieves whether auto-generated keys can be retrieved after a statement has been executed

public boolean
supportsGroupBy()

Implements java.sql.DatabaseMetaData.supportsGroupBy.

Retrieves whether this database supports some form of GROUP BY clause.

public boolean
supportsGroupByBeyondSelect()

Implements java.sql.DatabaseMetaData.supportsGroupByBeyondSelect.

Retrieves whether this database supports using columns not included in the SELECT statement in a GROUP BY clause provided that all of the columns in the SELECT statement are included in the GROUP BY clause.

public boolean

Returns:

true if connected to PostgreSQL 6.4+
supportsGroupByUnrelated
()

Implements java.sql.DatabaseMetaData.supportsGroupByUnrelated.

Retrieves whether this database supports using a column that is not in the SELECT statement in a GROUP BY clause.

public boolean
supportsIntegrityEnhancementFacility()

Implements java.sql.DatabaseMetaData.supportsIntegrityEnhancementFacility.

Retrieves whether this database supports the SQL Integrity Enhancement Facility.

public boolean
supportsLikeEscapeClause()

Implements java.sql.DatabaseMetaData.supportsLikeEscapeClause.

Retrieves whether this database supports specifying a LIKE escape clause.

public boolean

Returns:

true if connected to PostgreSQL 7.1+
supportsLimitedOuterJoins
()

Implements java.sql.DatabaseMetaData.supportsLimitedOuterJoins.

Retrieves whether this database provides limited support for outer joins.

public boolean

Returns:

true
supportsMinimumSQLGrammar
()

Implements java.sql.DatabaseMetaData.supportsMinimumSQLGrammar.

Retrieves whether this database supports the ODBC Minimum SQL grammar.

public boolean

Returns:

true if so
supportsMixedCaseIdentifiers
()

Implements java.sql.DatabaseMetaData.supportsMixedCaseIdentifiers.

Does the database treat mixed case unquoted SQL identifiers as case sensitive and as a result store them in mixed case?

public boolean

Returns:

true if so
supportsMixedCaseQuotedIdentifiers
()

Implements java.sql.DatabaseMetaData.supportsMixedCaseQuotedIdentifiers.

Does the database treat mixed case quoted SQL identifiers as case sensitive and as a result store them in mixed case?

public boolean
supportsMultipleOpenResults()

Implements java.sql.DatabaseMetaData.supportsMultipleOpenResults.

Retrieves whether it is possible to have multiple ResultSet objects returned from a CallableStatement object simultaneously.

public boolean
supportsMultipleResultSets()

Implements java.sql.DatabaseMetaData.supportsMultipleResultSets.

Retrieves whether this database supports getting multiple ResultSet objects from a single call to the method execute.

public boolean
supportsMultipleTransactions()

Implements java.sql.DatabaseMetaData.supportsMultipleTransactions.

Retrieves whether this database allows having multiple transactions open at once (on different connections).

public boolean
supportsNamedParameters()

Implements java.sql.DatabaseMetaData.supportsNamedParameters.

Retrieves whether this database supports named parameters to callable statements.

public boolean
supportsNonNullableColumns()

Implements java.sql.DatabaseMetaData.supportsNonNullableColumns.

Retrieves whether columns in this database may be defined as non-nullable.

public boolean
supportsOpenCursorsAcrossCommit()

Implements java.sql.DatabaseMetaData.supportsOpenCursorsAcrossCommit.

Retrieves whether this database supports keeping cursors open across commits.

public boolean
supportsOpenCursorsAcrossRollback()

Implements java.sql.DatabaseMetaData.supportsOpenCursorsAcrossRollback.

Retrieves whether this database supports keeping cursors open across rollbacks.

public boolean

Returns:

true
supportsOpenStatementsAcrossCommit
()

Implements java.sql.DatabaseMetaData.supportsOpenStatementsAcrossCommit.

Retrieves whether this database supports keeping statements open across commits.

public boolean

Returns:

true
supportsOpenStatementsAcrossRollback
()

Implements java.sql.DatabaseMetaData.supportsOpenStatementsAcrossRollback.

Retrieves whether this database supports keeping statements open across rollbacks.

public boolean

Returns:

true if connected to PostgreSQL 6.4+
supportsOrderByUnrelated
()

Implements java.sql.DatabaseMetaData.supportsOrderByUnrelated.

Retrieves whether this database supports using a column that is not in the SELECT statement in an ORDER BY clause.

public boolean

Returns:

true if connected to PostgreSQL 7.1+
supportsOuterJoins
()

Implements java.sql.DatabaseMetaData.supportsOuterJoins.

Retrieves whether this database supports some form of outer join.

public boolean

Returns:

false
supportsPositionedDelete
()

Implements java.sql.DatabaseMetaData.supportsPositionedDelete.

We support cursors for gets only it seems.

public boolean
supportsPositionedUpdate()

Implements java.sql.DatabaseMetaData.supportsPositionedUpdate.

Retrieves whether this database supports positioned UPDATE statements.

public boolean
supportsRefCursors()

Overrides default java.sql.DatabaseMetaData.supportsRefCursors.

Retrieves whether this database supports REF CURSOR.

public boolean
supportsResultSetConcurrency(int
defined in java.sql.ResultSet
type
,
int
type defined in java.sql.ResultSet
concurrency
)

Implements java.sql.DatabaseMetaData.supportsResultSetConcurrency.

Retrieves whether this database supports the given concurrency type in combination with the given result set type.

public boolean
supportsResultSetHoldability(int
one of the following constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
holdability
)

Implements java.sql.DatabaseMetaData.supportsResultSetHoldability.

Retrieves whether this database supports the given result set holdability.

public boolean
supportsResultSetType(int
defined in java.sql.ResultSet
type
)

Implements java.sql.DatabaseMetaData.supportsResultSetType.

Retrieves whether this database supports the given result set type.

public boolean
supportsSavepoints()

Implements java.sql.DatabaseMetaData.supportsSavepoints.

Retrieves whether this database supports savepoints.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsSchemasInDataManipulation
()

Implements java.sql.DatabaseMetaData.supportsSchemasInDataManipulation.

Retrieves whether a schema name can be used in a data manipulation statement.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsSchemasInIndexDefinitions
()

Implements java.sql.DatabaseMetaData.supportsSchemasInIndexDefinitions.

Retrieves whether a schema name can be used in an index definition statement.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsSchemasInPrivilegeDefinitions
()

Implements java.sql.DatabaseMetaData.supportsSchemasInPrivilegeDefinitions.

Retrieves whether a schema name can be used in a privilege definition statement.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsSchemasInProcedureCalls
()

Implements java.sql.DatabaseMetaData.supportsSchemasInProcedureCalls.

Retrieves whether a schema name can be used in a procedure call statement.

public boolean

Returns:

true if connected to PostgreSQL 7.3+
supportsSchemasInTableDefinitions
()

Implements java.sql.DatabaseMetaData.supportsSchemasInTableDefinitions.

Retrieves whether a schema name can be used in a table definition statement.

public boolean

Returns:

true if connected to PostgreSQL 6.5+
supportsSelectForUpdate
()

Implements java.sql.DatabaseMetaData.supportsSelectForUpdate.

Retrieves whether this database supports SELECT FOR UPDATE statements.

public boolean
supportsStatementPooling()

Implements java.sql.DatabaseMetaData.supportsStatementPooling.

Retrieves whether this database supports statement pooling.

public boolean
supportsStoredFunctionsUsingCallSyntax()

Implements java.sql.DatabaseMetaData.supportsStoredFunctionsUsingCallSyntax.

Retrieves whether this database supports invoking user-defined or vendor functions using the stored procedure escape syntax.

public boolean
supportsStoredProcedures()

Implements java.sql.DatabaseMetaData.supportsStoredProcedures.

Retrieves whether this database supports stored procedure calls that use the stored procedure escape syntax.

public boolean
supportsSubqueriesInComparisons()

Implements java.sql.DatabaseMetaData.supportsSubqueriesInComparisons.

Retrieves whether this database supports subqueries in comparison expressions.

public boolean
supportsSubqueriesInExists()

Implements java.sql.DatabaseMetaData.supportsSubqueriesInExists.

Retrieves whether this database supports subqueries in EXISTS expressions.

public boolean
supportsSubqueriesInIns()

Implements java.sql.DatabaseMetaData.supportsSubqueriesInIns.

Retrieves whether this database supports subqueries in IN expressions.

public boolean
supportsSubqueriesInQuantifieds()

Implements java.sql.DatabaseMetaData.supportsSubqueriesInQuantifieds.

Retrieves whether this database supports subqueries in quantified expressions.

public boolean
supportsTableCorrelationNames()

Implements java.sql.DatabaseMetaData.supportsTableCorrelationNames.

Retrieves whether this database supports table correlation names.

public boolean
supportsTransactionIsolationLevel(int
one of the transaction isolation levels defined in java.sql.Connection
level
)

Implements java.sql.DatabaseMetaData.supportsTransactionIsolationLevel.

Retrieves whether this database supports the given transaction isolation level.

public boolean
supportsTransactions()

Implements java.sql.DatabaseMetaData.supportsTransactions.

Retrieves whether this database supports transactions.

public boolean

Returns:

true if connected to PostgreSQL 6.3+
supportsUnion
()

Implements java.sql.DatabaseMetaData.supportsUnion.

Retrieves whether this database supports SQL UNION.

public boolean

Returns:

true if connected to PostgreSQL 7.1+
supportsUnionAll
()

Implements java.sql.DatabaseMetaData.supportsUnionAll.

Retrieves whether this database supports SQL UNION ALL.

public <T> T
unwrap(Class<T>
A Class defining an interface that the result must implement.
iface
)

Implements java.sql.Wrapper.unwrap.

Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

public boolean
updatesAreDetected(int
the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
type
)

Implements java.sql.DatabaseMetaData.updatesAreDetected.

Retrieves whether or not a visible row update can be detected by calling the method ResultSet.rowUpdated.

public boolean

Returns:

true if so
usesLocalFilePerTable
()

Implements java.sql.DatabaseMetaData.usesLocalFilePerTable.

Does the database use a file for each table?

public boolean

Returns:

true if so
usesLocalFiles
()

Implements java.sql.DatabaseMetaData.usesLocalFiles.

Does the database store tables in a local file?

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait