Skip to main content
Pxxl provides managed PostgreSQL, MySQL, and MongoDB databases as workspace resources. You provision a database once in the dashboard, then link it to any project that needs it. The connection is recorded in the project’s architecture view, but your application still receives credentials through environment variables — the same pattern you use for any other secret. This separation keeps database provisioning clean and lets multiple projects share a single database instance when needed. Open Dashboard > Database to manage all databases in the workspace.

Create a Database

1

Open the Database page

Navigate to Dashboard > Database and click Create Database.
2

Choose the engine

Select the database engine your application requires: PostgreSQL, MySQL, or MongoDB.
3

Select the project or workspace scope

Choose the owning project or set the database as a workspace-level resource that can be shared across projects.
4

Configure name, region, and resources

Enter a descriptive name for the database, select the region closest to your application containers, and review the resource settings (storage, compute tier).
5

Create and wait for active status

Click Create and wait for the database status to become active. Provisioning typically completes within a few minutes. A pending database may not accept connections yet.
6

Copy connection credentials

Open the database detail page once it is active. Copy the connection URL, username, password, host, port, and database name — you will need these values in the next steps.
Linking records the relationship between the database and a project so it appears in the project architecture view.
1

Open the project

Navigate to Dashboard > Projects and select the project that should use the database.
2

Open the architecture or project overview area

Switch to the Overview tab inside the project workspace to see the architecture canvas.
3

Add the database service

Select the database service action on the canvas, then choose Existing database from the options.
4

Select and confirm

Pick the target database from the dropdown list and confirm the connection. The database now appears in the project architecture alongside the application container.

Add Connection Values to the Container

Linking the database only records the relationship in the dashboard. Your application container needs the actual credentials as environment variables to connect at runtime.
1

Open Environment Variables

Select the project, then open the Environment Variables tab.
2

Add the connection variables

Add the variables your framework expects. Use the values you copied from the database detail page.
3

Use the external database URL

When your runtime container connects over the public database endpoint, use the external connection URL shown on the database detail page — not a localhost address.
4

Save the variables

Save all environment variables. They will be injected into the container on the next deployment.
5

Redeploy the project

Trigger a new deployment so the updated container starts with the new environment variables. Existing running containers do not automatically reload new values.

Connection Variable Examples

DATABASE_URL=postgres://user:password@db.pxxl.pro:5432/app
PGHOST=db.pxxl.pro
PGPORT=5432
PGDATABASE=app
PGUSER=user
PGPASSWORD=password

Container Checklist

Before marking the database integration complete, verify each item in this checklist.
CheckWhy it matters
Runtime environment variables are savedContainers receive database credentials exclusively through environment variables — there is no automatic credential injection.
The application reads DATABASE_URL or matching DB variablesHardcoded local connection strings will fail after deployment. Ensure the application reads from the environment.
The database status is activeDatabases in a pending or provisioning state may not accept connections. Wait for the active status before deploying.
The project was redeployed after variables were savedRunning containers do not automatically reload new environment values. A redeploy is always required.
Migrations are idempotentRun migrations in a way that is safe to repeat, so that redeploys do not corrupt existing data.

Cron Jobs

If your application needs to run recurring scheduled tasks — such as nightly database cleanup, report generation, or periodic data sync — use Dashboard > Cron Job. Cron jobs in Pxxl send HTTP requests to an endpoint in your application on a schedule you define. Keep cron endpoints idempotent: Pxxl may retry requests after network or runtime failures, so the target endpoint should handle repeated calls safely without side effects.