Skip to content

Update metastores.md #1537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 7, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 8 additions & 13 deletions site/content/in-dev/unreleased/metastores.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,10 @@ type: docs
weight: 700
---

This page documents important configurations for connecting to a production database through [EclipseLink](https://eclipse.dev/eclipselink/).
This page explains how to configure and use Polaris metastores with either the recommended Relational JDBC or the
deprecated EclipseLink persistence backends.

## Polaris EclipseLink

Polaris includes EclipseLink plugin by default with PostgreSQL driver.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This info is lost now, should we copy this to the eclipse link i.e the plugin and postgres driver is packaged with eclipse-link ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in the new commit.


In order to add other JDBC drivers, you have to build Polaris using the `eclipseLinkDeps` build property.

## Polaris Server Configuration

### Relational JDBC
## Relational JDBC
This implementation leverages Quarkus for datasource management and supports configuration through
environment variables or JVM -D flags at startup. For more information, refer to the [Quarkus configuration reference](https://quarkus.io/guides/config-reference#env-file).

Expand All @@ -50,9 +43,11 @@ The Relational JDBC metastore currently relies on a Quarkus-managed datasource a
Please refer to the documentation here:
[Configure data sources in Quarkus](https://quarkus.io/guides/datasource)

### EclipseLink
## EclipseLink (Deprecated)
> [!IMPORTANT] Eclipse link is deprecated, its recommend to use Relational JDBC as persistence instead.

Polaris includes EclipseLink plugin by default with PostgreSQL driver.

Configure the `polaris.persistence` section in your Polaris configuration file
(`application.properties`) as follows:

Expand All @@ -79,7 +74,7 @@ Polaris creates and connects to a separate database for each realm. Specifically

A single `persistence.xml` can describe multiple [persistence units](https://eclipse.dev/eclipselink/documentation/4.0/concepts/concepts.html#APPDEV001). For example, with both a `polaris-dev` and `polaris` persistence unit defined, you could use a single `persistence.xml` to easily switch between development and production databases. Use the `persistence-unit` option in the Polaris server configuration to easily switch between persistence units.

#### Using H2
### Using H2

> [!IMPORTANT] H2 is an in-memory database and is not suitable for production!

Expand Down Expand Up @@ -122,7 +117,7 @@ java -Dpolaris.persistence.type=eclipse-link \
-jar quarkus/server/build/quarkus-app/quarkus-run.jar
```

#### Using Postgres
### Using Postgres

PostgreSQL is included by default in the Polaris server distribution.

Expand Down