Skip to content

Allowing you to unit test with a PostgreSQL DB without requiring end users to install and set up a database cluster

License

Notifications You must be signed in to change notification settings

quarkiverse/quarkus-embedded-postgresql

Repository files navigation

Quarkus - Embedded PostgreSQL

Version License Build

An alternative to quarkus-jdbc-postgres that rather than instantiating a pgsql server, uses zonky embedded library, reducing memory footprint. It is mainly oriented for single pod k8s deployments or integration testing.

Usage

Include this dependency in your pom

   <dependency>
     <groupId>io.quarkiverse.embedded.postgresql</groupId>
     <artifactId>quarkus-embedded-postgresql</artifactId>
   </dependency>

You can now inject in your code a DataSource object (if you are JDBC friend) or a PgPool reference (if you prefer reactive) without adding any further property.

Configuration properties

property description
quarkus.embedded.postgresql.data.dir You can optionally persist information into file system by setting the desired path as value of property
quarkus.embedded.postgresql.port You can optinally configure the postgresql server port by using this property. If no value is confirured a random available port will be selected.

Multiple Datasources

This extension supports the usage of multiple datasources when the application has more than datasource which are defined by a specific name for each one of them, see the datasources guide for more details.

The extension uses the configuration of each named datasource matching the db-kind property to automatically create the databases on the embedded PostgreSQL for each defined datasource and inject the proper configuration intro the application, such as the URL for the datasource.

All Contributors

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Francisco Javier Tirado Sarti
Francisco Javier Tirado Sarti

💻 🚧

This project follows the all-contributors specification. Contributions of any kind welcome!