Databases
Provision managed databases with one click. Use them from your apps running on ZevCloud, browse the data through the built-in Database Manager, or connect from your local machine.
Supported engines
Section titled “Supported engines”| Database | Versions | Default port |
|---|---|---|
| PostgreSQL | 18, 17, 16, 15 | 5432 |
| MySQL | 8 | 3306 |
| MariaDB | 11 | 3306 |
| MongoDB | 7 | 27017 |
| Redis | 7 | 6379 |
Creating a database
Section titled “Creating a database”-
Open your project in the dashboard and click Add Service → Database.
-
Pick the engine and version.
-
For PostgreSQL, choose an extension variant if you need one (see below). You can change this later.
-
Give it a name and pick a plan.
-
Click Create.
The database is provisioned immediately with auto-generated credentials. They appear on the service’s Overview tab — username, password, database name, internal hostname, and a ready-to-use connection URL.
PostgreSQL extensions
Section titled “PostgreSQL extensions”Some projects need capabilities that aren’t in a stock PostgreSQL build. You can pick a variant when you create the database, or switch an existing one from Overview → Extensions.
| Variant | What it adds | Available on |
|---|---|---|
| Standard | The built-in extension set | 18, 17, 16, 15 |
| pgvector | Vector similarity search — embeddings, semantic search, RAG | 18, 17, 16 |
| PostGIS | Geospatial types and queries — coordinates, distances, maps | 17, 16 |
Choosing a variant makes the extension available; you still enable it inside your database:
-- pgvectorCREATE EXTENSION vector;
-- PostGISCREATE EXTENSION postgis;Run that once per database, from the database manager, psql, or a migration in your app.
Switching on an existing database
Section titled “Switching on an existing database”Open the database, go to Overview → Extensions, and pick the variant you want.
Your data is preserved. The variants are the same PostgreSQL version built with extra extension libraries, so nothing is copied or migrated — the database restarts and the new extensions become available.
Two things to know:
- You can’t change the PostgreSQL version this way. Moving between major versions (16 → 18) needs a dump and restore onto a new database, because the on-disk format differs between majors. See Importing an existing database.
- Not every variant exists for every version. The table above shows what’s available; unavailable combinations are greyed out in the dashboard.
How to use it
Section titled “How to use it”There are three ways to reach a database you’ve created. Pick the one that fits what you’re doing:
| If you want to… | Use |
|---|---|
| Connect from another ZevCloud service (a web app, worker, anything in the same project) | The internal hostname shown on the Overview tab. No public access needed. |
| Browse tables, run SQL, import or export — from your browser | Database Manager (MySQL, MariaDB, PostgreSQL only — see below) |
| Connect from your laptop or an external service (pgAdmin, TablePlus, MongoDB Compass, RedisInsight, your CI, etc.) | Public access (see below) |
Connect from another ZevCloud service
Section titled “Connect from another ZevCloud service”Use the internal hostname as the host. Services on the same project share an internal network and can talk to the database directly — no public exposure needed.
# Example: web app reading from a Postgres database in the same projectDATABASE_URL=postgres://user:pass@<internal-hostname>:5432/dbnameAdd the connection string as an environment variable on your application service. Internal traffic doesn’t count against any egress quota.
Database Manager (web GUI)
Section titled “Database Manager (web GUI)”For MySQL, MariaDB, and PostgreSQL databases, the Database Manager is a web GUI built into the dashboard. Click Open database manager on the database’s Overview tab and a new browser tab opens with the GUI logged in to your database. Browse tables, edit rows, run SQL, import dumps, export backups — all without installing anything.
The Database Manager is available on every plan (free and paid) for standalone databases. Full walkthrough on the Database management page.
Connect from your laptop or an external service
Section titled “Connect from your laptop or an external service”Databases default to internal-only. To reach one from outside the ZevCloud network — your laptop, a Vercel deployment, your CI runner — turn on Public Access.
-
Open the database’s Overview tab.
-
Find the Public Access section.
-
Toggle it on. Public access requires a paid plan.
The dashboard shows a public host (something like apps-sandbox.zevop.net) and a unique port. Use those, plus your existing username / password / database name, in any standard client:
# PostgreSQLpsql "postgresql://user:password@apps-sandbox.zevop.net:54321/dbname"
# MySQL / MariaDBmysql --host=apps-sandbox.zevop.net --port=54321 --user=user --password=password dbname
# MongoDB (Compass connection string)mongodb://user:password@apps-sandbox.zevop.net:54321/dbname
# Redis (RedisInsight or redis-cli)redis-cli -h apps-sandbox.zevop.net -p 54321 -a passwordTerminal access
Section titled “Terminal access”Every database service has a Terminal tab that opens a shell inside the database container. Use it for CLI tooling or quick one-off commands without enabling public access:
# PostgreSQLpsql -U <username> -d <dbname>
# MySQL / MariaDBmysql -u <username> -p <dbname>
# MongoDBmongosh
# Redisredis-cliThe terminal is admin-only and rate-limited.
Importing an existing database
Section titled “Importing an existing database”MySQL, MariaDB, PostgreSQL — use the Database Manager
Section titled “MySQL, MariaDB, PostgreSQL — use the Database Manager”Open the Database Manager, click Import in the left sidebar, pick your .sql or .sql.gz file, click Execute. Streams up to 1 GB per file straight into the database. This is the easiest path for migrations from cPanel, another host, or a local backup.
MongoDB — use mongorestore from your laptop
Section titled “MongoDB — use mongorestore from your laptop”# 1. Turn on public access on the dashboard (paid plan)# 2. From your laptop:mongorestore \ --uri="mongodb://user:password@apps-sandbox.zevop.net:54321/dbname" \ /path/to/dump-dir# 3. Turn public access off when the import finishesRedis — use redis-cli with --pipe or restore an RDB
Section titled “Redis — use redis-cli with --pipe or restore an RDB”# From your laptop, against a temporarily-public Redis:cat dump.txt | redis-cli -h apps-sandbox.zevop.net -p 54321 -a password --pipeFor full snapshot restores (.rdb files), open a support ticket — we can place the file on the container’s data volume directly.
Connection limits
Section titled “Connection limits”Every database plan includes a maximum number of simultaneous connections, shown on the plan when you create the database. When a database reaches it, new connections are refused until others close. Connections that are already open keep working.
The Metrics tab shows open connections against your plan’s limit, and the Overview tab tells you when a database is close to its limit or at it. The team owner is emailed when usage stays high.
Using fewer connections
Section titled “Using fewer connections”Most apps open far more connections than they need. Before upgrading, check your pool settings:
- Use a connection pool. Opening a new connection per request is the most common cause of hitting the limit. Most frameworks and ORMs pool by default; make sure yours does.
- Size the pool to the plan. If you run several instances of an app, or several apps share one database, their pools add up. Four instances with a pool of 10 each need 40 connections.
- Close connections in scripts and background jobs when they finish, rather than leaving them open.
- Serverless and short-lived processes should keep their pool small (often 1 to 2) because each process holds its own.
If your app genuinely needs more connections at once, upgrade the database plan from its Billing tab. The new limit applies automatically.
When a limit changes
Section titled “When a limit changes”When a database gets a new limit, such as after a plan change:
- MySQL, MariaDB and Redis apply it straight away.
- PostgreSQL and MongoDB need a brief restart to apply it. It’s scheduled for 03:00 WAT, at least 12 hours ahead, and the team owner is emailed the time. To get it over with sooner, click Restart now on the database’s Overview tab.
- If the database is using more connections than the new limit, nothing changes for 48 hours. The team owner is emailed first, so there’s time to adjust pool sizes or upgrade.
A new database gets its limit as soon as it’s created.
Backups
Section titled “Backups”The fastest path depends on the engine:
- SQL databases: open the Database Manager → Export → choose
gzip+SQL. Browser downloads the dump. Quick, safe, no public access needed. - MongoDB: enable public access, then
mongodump --uri="…" --out=./backupfrom your machine. - Redis: enable public access, then
redis-cli -h … --rdb dump.rdbfrom your machine.
For routine off-site backups (any engine), run the export on a schedule from another ZevCloud service in the same project — internal-network access means you don’t need to enable public exposure for automated backups.
Plan + access summary
Section titled “Plan + access summary”| Engine | Internal access (other ZevCloud services) | Database Manager (web GUI) | Public access (your laptop / external) |
|---|---|---|---|
| PostgreSQL | Every plan | Every plan | Paid plans |
| MySQL | Every plan | Every plan | Paid plans |
| MariaDB | Every plan | Every plan | Paid plans |
| MongoDB | Every plan | Use Compass via public access | Paid plans |
| Redis | Every plan | Use RedisInsight via public access | Paid plans |
If you want a hosted browser-based GUI for MongoDB or Redis specifically, let us know at support@zevcloud.net — we’re tracking demand for it.