Managed databases

PostgreSQL, MySQL, MongoDB-compatible and Redis-compatible databases that you never have to install, patch or expose to the internet. Create one in a couple of clicks and copy the connection string.
Four engines, your choice of version
PostgreSQL and MySQL for relational data, FerretDB when you need a MongoDB-compatible document store, and Valkey — a multi-threaded, Redis-compatible key-value store — for caches and queues.
Automatic backups
Backups run on a schedule and are stored in external secure storage, so a problem with the underlying infrastructure never becomes a problem with your data. PostgreSQL also supports point-in-time recovery on request.
Scaling and replicas
Start on the smallest configuration and move up when the load grows: change the node configuration or add nodes without rebuilding your application.
Connection pooling
Every replica of your application opens its own connections. A pooler in front of the database keeps that under control, so scaling the app does not exhaust the connection limit.
Private by default
No public endpoint and no public domain. The database is reachable only from the resources in your project, over internal DNS — a much smaller attack surface than a database on the open internet.
Port forwarding when you need it
Use the CLI to forward the database port to localhost and connect with psql, mysql or your favourite GUI client. Perfect for a one-off dump or a manual fix, without opening anything up permanently.

What runs where

Databases live in the same cluster as your applications, so the hop between them is short and stays on the internal network.
Supported engines
PostgreSQL
The default choice for relational data. Point-in-time recovery available on request.
MySQL
For applications and frameworks that expect MySQL.
FerretDB
MongoDB-compatible document store — keep using your MongoDB drivers and queries.
Valkey
Redis-compatible, multi-threaded and memory-efficient. Use it for caching, sessions and queues.
Access control
Who can reach the database, and how.
Network
Reachable only from inside your project over internal DNS. There is no public address to scan or brute force.
Credentials
Connection details are generated for you and shown on the database page. Pass them to your application as encrypted secrets, not as plain text in the repository.
People
Access to the database page follows project membership, so revoking someone from the project revokes their access to the credentials as well.
Temporary local access
CLI port forwarding gives you a connection from your machine for as long as the session is open, and nothing beyond that.

Database questions

More questions? Email us at support@granite.so

Databases are billed from the same monthly usage credits as the rest of your project.
See pricing
Be first in line for updates
and special pricing
Get early access to new features and exclusive discounts delivered straight to your inbox