Class PostgresPlatform

java.lang.Object
io.ebean.config.dbplatform.DatabasePlatform
io.ebean.platform.postgres.PostgresPlatform
Direct Known Subclasses:
CockroachPlatform, Postgres9Platform, YugabytePlatform

public class PostgresPlatform extends io.ebean.config.dbplatform.DatabasePlatform
Postgres 10+ platform.

Defaults to use "generated by default as identity".

  • Field Summary

    Fields inherited from class io.ebean.config.dbplatform.DatabasePlatform

    allQuotedIdentifiers, autoCommitFalseOnFindIterate, basicSqlLimiter, blobDbType, booleanDbType, caseSensitiveCollation, clobDbType, closeQuote, columnAliasPrefix, dbDefaultValue, dbEncrypt, dbIdentity, dbTypeMap, exceptionTranslator, forwardOnlyHintOnFindIterate, historySupport, idInExpandedForm, inlineSqlUpdateLimit, likeClauseEscaped, likeClauseRaw, likeEscapeChar, likeSpecialCharacters, maxConstraintNameLength, maxInBinding, maxTableNameLength, nativeUuidType, openQuote, persistBatchOnCascade, platform, selectCountWithAlias, selectCountWithColumnAlias, sequenceBatchMode, sequenceBatchSize, sqlLimiter, supportsDeleteTableAlias, supportsNativeIlike, supportsNativeJavaTime, supportsResultSetConcurrencyModeUpdatable, supportsSavepointId, truncateTable, useExtraTransactionOnIterateSecondaryQueries, useMigrationStoredProcedures
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    addGeoTypes(int srid)
     
    void
    configure(io.ebean.config.PlatformConfig config)
     
    io.ebean.config.dbplatform.PlatformIdGenerator
    createSequenceIdGenerator(io.ebean.BackgroundExecutor be, DataSource ds, int stepSize, String seqName)
    Create a Postgres specific sequence IdGenerator.
    boolean
    So we can generate varchar[], int[], uuid[] column definitions and use the associated scalar types.
    protected String
    withForUpdate(String sql, io.ebean.Query.LockWait lockWait, io.ebean.Query.LockType lockType)
     

    Methods inherited from class io.ebean.config.dbplatform.DatabasePlatform

    autoCommitFalseOnFindIterate, basicSqlLimiter, blobDbType, booleanDbType, caseSensitiveCollation, clobDbType, closeQuote, columnAliasPrefix, completeSql, configure, configureIdType, convertQuotedIdentifiers, createSchemaIfNotExists, dbDefaultValue, dbEncrypt, dbIdentity, dbTypeMap, escapeLikeCharacter, escapeLikeString, forwardOnlyHintOnFindIterate, fromForUpdate, historySupport, idInExpandedForm, inlineSqlComment, inlineSqlHint, inlineSqlUpdateLimit, isPlatform, likeClause, maxConstraintNameLength, maxInBinding, maxTableNameLength, name, nativeUuidType, openQuote, persistBatchOnCascade, platform, schemaExists, selectCountWithAlias, selectCountWithColumnAlias, sequenceBatchMode, setColumnAliasPrefix, setDbEncrypt, setDbFalseLiteral, setDbTrueLiteral, setForwardOnlyHintOnFindIterate, setHistorySupport, setSequenceBatchMode, setSupportsResultSetConcurrencyModeUpdatable, setUseMigrationStoredProcedures, sqlLimiter, supportsDeleteTableAlias, supportsNativeIlike, supportsNativeJavaTime, supportsResultSetConcurrencyModeUpdatable, supportsSavepointId, translate, truncateStatement, unQuote, useExtraTransactionOnIterateSecondaryQueries, useMigrationStoredProcedures

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PostgresPlatform

      public PostgresPlatform()
  • Method Details

    • configure

      public void configure(io.ebean.config.PlatformConfig config)
      Overrides:
      configure in class io.ebean.config.dbplatform.DatabasePlatform
    • addGeoTypes

      protected void addGeoTypes(int srid)
      Overrides:
      addGeoTypes in class io.ebean.config.dbplatform.DatabasePlatform
    • nativeArrayType

      public boolean nativeArrayType()
      So we can generate varchar[], int[], uuid[] column definitions and use the associated scalar types.
      Overrides:
      nativeArrayType in class io.ebean.config.dbplatform.DatabasePlatform
    • createSequenceIdGenerator

      public io.ebean.config.dbplatform.PlatformIdGenerator createSequenceIdGenerator(io.ebean.BackgroundExecutor be, DataSource ds, int stepSize, String seqName)
      Create a Postgres specific sequence IdGenerator.
      Overrides:
      createSequenceIdGenerator in class io.ebean.config.dbplatform.DatabasePlatform
    • withForUpdate

      protected String withForUpdate(String sql, io.ebean.Query.LockWait lockWait, io.ebean.Query.LockType lockType)
      Overrides:
      withForUpdate in class io.ebean.config.dbplatform.DatabasePlatform