public class PostgresDatabase extends AbstractJdbcDatabase
Modifier and Type | Field and Description |
---|---|
static String |
PRODUCT_NAME |
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingEndCharacter, quotingEndReplacement, quotingStartCharacter, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
Constructor and Description |
---|
PostgresDatabase() |
Modifier and Type | Method and Description |
---|---|
String |
correctObjectName(String objectName,
Class<? extends DatabaseObject> objectType)
Fix the object name to the format the database expects, handling changes in case, etc.
|
String |
escapeObjectName(String objectName,
Class<? extends DatabaseObject> objectType) |
String |
escapeObjectName(String catalogName,
String schemaName,
String objectName,
Class<? extends DatabaseObject> objectType) |
boolean |
generateAutoIncrementBy(BigInteger incrementBy) |
boolean |
generateAutoIncrementStartWith(BigInteger startWith) |
String |
getAutoIncrementClause() |
protected String |
getConnectionSchemaName()
Overwrite this method to get the default schema name for the connection.
|
String |
getDatabaseChangeLogLockTableName() |
String |
getDatabaseChangeLogTableName() |
protected String |
getDefaultDatabaseProductName() |
String |
getDefaultDriver(String url)
If this database understands the given url, return the default driver class name.
|
Integer |
getDefaultPort() |
int |
getPriority() |
String |
getShortName()
Returns an all-lower-case short name of the product.
|
Set<String> |
getSystemViews()
Returns system (undroppable) views.
|
protected boolean |
hasMixedCase(String tableName) |
boolean |
isCorrectDatabaseImplementation(DatabaseConnection conn)
Is this AbstractDatabase subclass the correct one to use for the given connection.
|
boolean |
isReservedWord(String tableName) |
boolean |
isSystemObject(DatabaseObject example) |
boolean |
supportsCatalogInObjectName(Class<? extends DatabaseObject> type) |
boolean |
supportsInitiallyDeferrableColumns()
Returns whether this database support initially deferrable columns.
|
boolean |
supportsSequences()
Does the database type support sequence.
|
boolean |
supportsTablespaces() |
addReservedWords, canCreateChangeLogTable, close, commit, correctSchema, correctSchema, createsIndexesForForeignKeys, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeIndexName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generateDatabaseFunctionValue, generatePrimaryKeyName, getAutoCommitMode, getAutoIncrementByClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConcatSql, getConnection, getConnectionCatalogName, getContainingObjects, getCurrentDateTimeFunction, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultSchema, getDefaultSchemaName, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaFromJdbcInfo, getSystemSchema, getSystemTables, getTimeLiteral, getViewDefinition, hashCode, isAutoCommit, isCaseSensitive, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isSafeToRunUpdate, isSystemView, isTimeOnly, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, parseDate, quoteObject, removeRanStatus, requiresPassword, requiresUsername, resetInternalState, rollback, saveRollbackStatement, saveStatements, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, startsWithNumeric, supportsAutoIncrement, supportsCatalogs, supportsDDLInTransaction, supportsDropTableCascadeConstraints, supportsForeignKeyDisable, supportsPrimaryKeyNames, supportsRestrictForeignKeys, supportsSchemas, tag, toString, unescapeDataTypeName, unescapeDataTypeString
public static final String PRODUCT_NAME
public String getShortName()
Database
protected String getDefaultDatabaseProductName()
getDefaultDatabaseProductName
in class AbstractJdbcDatabase
public Integer getDefaultPort()
public Set<String> getSystemViews()
AbstractJdbcDatabase
getSystemViews
in class AbstractJdbcDatabase
public int getPriority()
public boolean supportsInitiallyDeferrableColumns()
Database
public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException
Database
DatabaseException
public String getDefaultDriver(String url)
Database
public boolean supportsCatalogInObjectName(Class<? extends DatabaseObject> type)
supportsCatalogInObjectName
in interface Database
supportsCatalogInObjectName
in class AbstractJdbcDatabase
public boolean supportsSequences()
AbstractJdbcDatabase
supportsSequences
in interface Database
supportsSequences
in class AbstractJdbcDatabase
public String getDatabaseChangeLogTableName()
getDatabaseChangeLogTableName
in interface Database
getDatabaseChangeLogTableName
in class AbstractJdbcDatabase
Database.getDatabaseChangeLogTableName()
public String getDatabaseChangeLogLockTableName()
getDatabaseChangeLogLockTableName
in interface Database
getDatabaseChangeLogLockTableName
in class AbstractJdbcDatabase
Database.getDatabaseChangeLogLockTableName()
public boolean isSystemObject(DatabaseObject example)
isSystemObject
in interface Database
isSystemObject
in class AbstractJdbcDatabase
public boolean supportsTablespaces()
public String getAutoIncrementClause()
getAutoIncrementClause
in class AbstractJdbcDatabase
public boolean generateAutoIncrementStartWith(BigInteger startWith)
generateAutoIncrementStartWith
in class AbstractJdbcDatabase
public boolean generateAutoIncrementBy(BigInteger incrementBy)
generateAutoIncrementBy
in class AbstractJdbcDatabase
public String escapeObjectName(String objectName, Class<? extends DatabaseObject> objectType)
escapeObjectName
in interface Database
escapeObjectName
in class AbstractJdbcDatabase
public String escapeObjectName(String catalogName, String schemaName, String objectName, Class<? extends DatabaseObject> objectType)
escapeObjectName
in interface Database
escapeObjectName
in class AbstractJdbcDatabase
public String correctObjectName(String objectName, Class<? extends DatabaseObject> objectType)
Database
correctObjectName
in interface Database
correctObjectName
in class AbstractJdbcDatabase
protected boolean hasMixedCase(String tableName)
public boolean isReservedWord(String tableName)
isReservedWord
in interface Database
isReservedWord
in class AbstractJdbcDatabase
protected String getConnectionSchemaName()
AbstractJdbcDatabase
getConnectionSchemaName
in class AbstractJdbcDatabase
Copyright © 2015 Liquibase.org. All rights reserved.