Skip to main content
Haven’t deployed an app yet? Start with the Quick Start Guide to set up your first application, then return here to add a database.

Overview

This guide shows you how to create a database in your environment and connect it to your application.

Supported Databases

Qovery supports the following managed databases on AWS:

PostgreSQL

Most popular relational database

MySQL

Traditional relational database

MongoDB

Document-oriented NoSQL database

Redis

In-memory key-value store

Creating a Database

1

Navigate to Your Environment

In the Qovery Console, go to your project and select the environment where you want to add the database.
2

Add Database

Click the Add Database button.
3

Configure Basic Settings

Select and configure your database:
  • Database Type: PostgreSQL, MySQL, MongoDB, or Redis
  • Name: Give your database a name
  • Version: Choose the database version
  • Mode: Managed (uses AWS managed services like RDS, DocumentDB, and ElastiCache)
4

Configure Resources

Set the resource allocation for your database:
  • Instance Type: Select from available AWS instance types
  • Storage Size: Configure storage capacity based on your needs
  • Storage Type: Choose storage performance tier (e.g., gp3, io1)
5

Create and Deploy

Review your settings and click Create. You can choose to create the database alone or create and deploy it immediately.

Connecting Your Application

Qovery automatically injects database credentials as environment variables when your application runs. You’ll have access to a connection URI and individual connection details.

Using the Connection URI

The easiest way to connect is using the connection URI environment variable:
// Node.js with PostgreSQL example
const { Pool } = require('pg');

const pool = new Pool({
  connectionString: process.env.QOVERY_DATABASE_MY_POSTGRESQL_CONNECTION_URI,
});

Available Environment Variables

For each database, Qovery provides:
  • QOVERY_DATABASE_<DB_NAME>_CONNECTION_URI - Complete connection string
  • QOVERY_DATABASE_<DB_NAME>_HOST - Database host
  • QOVERY_DATABASE_<DB_NAME>_PORT - Database port
  • QOVERY_DATABASE_<DB_NAME>_USERNAME - Database username
  • QOVERY_DATABASE_<DB_NAME>_PASSWORD - Auto-generated password
  • QOVERY_DATABASE_<DB_NAME>_DATABASE - Database name
Replace <DB_NAME> with your actual database name (uppercased with underscores). You can find the exact variable names in your application’s environment variables settings.

Database Management

Backups

Backups are handled automatically by AWS managed database services (RDS, DocumentDB, ElastiCache).

Best Practices

Choose the appropriate AWS instance type based on your workload. Start with smaller instances and scale up as needed.
Enable automated backups and set an appropriate retention period for your use case.
Database passwords are generated automatically. Store them securely and rotate regularly.

Next Steps