Skip to main content

Overview

Qovery provides managed database services that you can deploy alongside your applications. Databases are automatically configured with connection credentials that are injected as environment variables into your applications.

Supported Databases

Qovery natively supports four database types:

PostgreSQL

PostgreSQL is a powerful, open-source object-relational database system with over 30 years of active development, known for reliability, feature robustness, and performance. Cloud Provider Support:
  • AWS: Container and Managed (RDS)
  • Scaleway: Container only
  • GCP: Container and Managed (Cloud SQL)
  • Azure: Container and Managed (Azure Database)
Supported Versions: Check the Qovery Console for available versions (typically 11, 12, 13, 14, 15, 16)

MySQL

MySQL is the world’s most popular open-source database, suitable for fast-growing web properties, technology ISVs, and large enterprises requiring high-performance, scalable database applications. Cloud Provider Support:
  • AWS: Container and Managed (RDS)
  • Scaleway: Container only
  • GCP: Container and Managed (Cloud SQL)
  • Azure: Container and Managed (Azure Database)
Supported Versions: Check the Qovery Console for available versions (typically 5.7, 8.0, 8.1)

MongoDB

MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database, MongoDB uses JSON-like documents with schema. Cloud Provider Support:
  • AWS: Container and Managed (DocumentDB)
  • Scaleway: Container only
Supported Versions: Check the Qovery Console for available versions (typically 4.4, 5.0, 6.0, 7.0) TLS/SSL Requirements: MongoDB deployments require proper certificate handling. Include the AWS RDS certificate bundle in your Docker image and configure your application to reference it during connection. Append SSL certificate path parameters to the connection URI when using environment variables.

Redis

Redis is an open-source (BSD licensed), in-memory data structure store used as a database, cache, and message broker. Redis supports various data structures including strings, hashes, lists, sets, sorted sets, bitmaps, hyperloglogs, geospatial indexes, and streams. Cloud Provider Support:
  • AWS: Container and Managed (ElastiCache)
  • Scaleway: Container only
  • GCP: Managed (Memorystore)
  • Azure: Managed (Azure Cache for Redis)
Supported Versions: Check the Qovery Console for available versions (typically 6.0, 6.2, 7.0, 7.2)

Database Modes

Container Mode

Best for: Development, testing, and non-critical workloads Characteristics:
  • Runs as a container on your Kubernetes cluster
  • Single instance deployment
  • Lower cost (no cloud provider fees)
  • Quick to provision
  • Manual backup management
Limitations:
  • Not highly available
  • Limited to single instance
  • Requires manual backup strategy

Managed Mode

Best for: Production workloads requiring high availability Characteristics:
  • Fully managed by cloud provider (AWS RDS, GCP Cloud SQL, Azure Database, Scaleway Database)
  • High availability and reliability
  • Automatic backups and point-in-time recovery
  • Automatic updates and patches
  • Multi-AZ deployment options
  • Cloud provider SLA
Limitations:
  • Higher cost
  • Limited configuration parameters
  • Provider-specific features
For production workloads, Managed Mode is strongly recommended to ensure data reliability and availability.
Changes to managed databases don’t apply immediately. Consult your cloud provider documentation for update timelines.

Creating a Database

1

Navigate to Environment

Go to your project and select the environment where you want to add a database
2

Add Database

Click CreateDatabase
3

Select Database Type

Choose from PostgreSQL, MySQL, MongoDB, or Redis
4

Configure Database

General Configuration:
  • Name: Database identifier
  • Description: Optional description
  • Version: Select database engine version
  • Mode: Container or Managed
Mode-Specific Settings:For Container Mode:
  • CPU allocation (default: 250m)
  • Memory allocation (default: 256 MB)
  • Storage size (default: 10 GB)
For Managed Mode:
  • Instance type (varies by cloud provider)
  • Storage size and type
  • Multi-AZ deployment (optional)
5

Configure Accessibility

  • Private: Only accessible within the environment (recommended)
  • Public: Accessible from the internet (requires strong credentials)
6

Create

Click Create Database to provision
For a step-by-step tutorial, see Connect Your First Database.

Connection Credentials

Qovery automatically generates and injects connection credentials as environment variables.

Auto-Generated Variables

For a database named my-db, Qovery creates:
# Full connection URI
QOVERY_DATABASE_MY_DB_CONNECTION_URI=postgresql://user:pass@host:5432/dbname

# Individual components
QOVERY_DATABASE_MY_DB_HOST=xxx.xxx.xxx.xxx
QOVERY_DATABASE_MY_DB_PORT=5432
QOVERY_DATABASE_MY_DB_USERNAME=qovery
QOVERY_DATABASE_MY_DB_PASSWORD=xxx
QOVERY_DATABASE_MY_DB_DATABASE=my_db

Using Credentials in Your Application

const { Pool } = require('pg');

// Using connection URI
const pool = new Pool({
  connectionString: process.env.QOVERY_DATABASE_MY_DB_CONNECTION_URI
});

// Using individual variables
const pool = new Pool({
  host: process.env.QOVERY_DATABASE_MY_DB_HOST,
  port: process.env.QOVERY_DATABASE_MY_DB_PORT,
  user: process.env.QOVERY_DATABASE_MY_DB_USERNAME,
  password: process.env.QOVERY_DATABASE_MY_DB_PASSWORD,
  database: process.env.QOVERY_DATABASE_MY_DB_DATABASE
});

Managing Databases

Database Settings

Access database settings to:
  • Update resource allocation
  • Change database version
  • Modify accessibility
  • Configure backups (managed mode)
  • View connection details
Never modify managed database settings directly in your cloud provider console. Always use Qovery to manage database configuration to avoid configuration drift and deployment failures.

Clone Database

Create a copy of an existing database to the same or different environment.

Upgrade Database Version

1

Test in Non-Production

Clone database to staging and test upgrade
2

Schedule Maintenance

Plan for potential downtime during upgrade
3

Upgrade Version

Go to database settings → Change version → Deploy
4

Verify Application

Test application connectivity and functionality
Always backup your data before upgrading database versions.

Delete Database

Deleting a database is non-recoverable. All data will be permanently deleted.
Before deleting:
  1. Backup your data
  2. Stop all applications using the database
  3. Verify you’re deleting the correct database

Alternative Database Solutions

If Qovery’s built-in database options don’t meet your requirements:

External Database on Dedicated VPC

Connect to an existing database via VPC peering:
  1. Configure VPC peering between your cluster and database VPC
  2. Add connection details as environment variables
  3. Configure security groups
Learn more: AWS VPC Peering Guide

Custom Database via Lifecycle Jobs

Use lifecycle jobs to provision custom database configurations or create cloud resources with specific settings.

Terraform Integration

Use Terraform to create and manage databases with full control over configuration. Learn more: Terraform Configuration