Connect Your Payara Cloud Application to a Neon PostgreSQL Database

Photo of Luqman Saeed by Luqman Saeed

Deploying a web application often means connecting to a database. In this guide, I'll show you how to connect a Jakarta EE application on Payara Cloud to a PostgreSQL database hosted on Neon.


  • A Jakarta EE sample application (or your own project)
  • A Neon account (the free tier will work)
  • Your Neon database connection details

Get Started With Neon

1. Sample Application If you don't have one, create a Jakarta EE web application from the Payara Starter page (Web Profile).

2. Create a Neon Account Sign up for a free Neon account. This will provide a default project and database for our example.

3. Get Connection Details Find your database connection details in your Neon dashboard:

  • Database server
  • Database name
  • Database user
  • Database user password

Connect from Your Application

1. Define a Datasource Use the @DataSourceDefinition annotation and MicroProfile Config to set up your datasource:


@DataSourceDefinition(name = "java:app/cloud-postgres",
className = "org.postgresql.ds.PGSimpleDataSource",
url = "${MPCONFIG=DB_URL}",
databaseName = "${MPCONFIG=DB_NAME}",
serverName = "${MPCONFIG=DB_SERVER}",
user = "${MPCONFIG=DB_USER}",
password = "${MPCONFIG=DB_PASSWORD}",
properties = {"targetServerType=primary"})

public class OpenAIFactory {

EntityManager entityManager;


2. Configure Persistence Update your persistence.xml to use the new datasource:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence xmlns:xsi=""
<persistence-unit name="pcloud" transaction-type="JTA">


<property name="jakarta.persistence.schema-generation.database.action" value="create"/>


3. Add PostgreSQL Driver Include the PostgreSQL JDBC driver as a runtime dependency in your project.


Deploy to Payara Cloud

1. Create a Payara Cloud Account Sign up and create an application.

2. Set Environment Variables In Payara Cloud's Configuration, add MicroProfile Config properties matching what you defined in your code (DB_URL, DB_NAME, etc.) using your Neon connection details.

3. Deploy! Click "Deploy" under Revision Actions. Your app will be live and connected to your Neon database.

Troubleshooting Double-check your database connection settings if the deployment fails. Payara Cloud's logs will usually pinpoint the issue.

That's it! You've successfully connected your Payara Cloud application to a Neon PostgreSQL database. Get the full, detailed guide here for your offline use.

Payara Cloud   Free Trial