Database Platforms

Platform Identity DbArray DbJson UUID History
H2 *Identity & Sequence Partial Simulated Native Triggers
Postgres *Identity & Sequence Full Full Native Triggers
MySQL Identity Simulated Full Triggers
Oracle *Sequence & Identity Simulated Full Native
SQL Server 17 *Sequence & Identity Simulated Full Native Native
SQL Server 16 *Identity Simulated Full Native
SQLite *Identity Partial Simulated None
DB2 *Identity & Sequence None

Postgres

Schema

Often with Postgres we want to have the database objects created in a named schema rather than the public schema. We can do this be setting:

ebean.dbSchema=myapp

When using a named schema with Postgres it is common that we connect using a DB user which is the same as the schema such that the default search path finds the DB tables/objects and we do not need to specify a custom search path (via the connection url etc).

Extensions

We also often want to use extensions. When testing using ebean-test we can specify a list of extensions that we want to be installed as part of the test database setup (via docker) - refer to testing with Postgres.