Skip to content

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.

DatabaseVersionsDefault port
PostgreSQL18, 17, 16, 155432
MySQL83306
MariaDB113306
MongoDB727017
Redis76379
  1. Open your project in the dashboard and click Add Service → Database.

  2. Pick the engine and version.

  3. For PostgreSQL, choose an extension variant if you need one (see below). You can change this later.

  4. Give it a name and pick a plan.

  5. 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.

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.

VariantWhat it addsAvailable on
StandardThe built-in extension set18, 17, 16, 15
pgvectorVector similarity search — embeddings, semantic search, RAG18, 17, 16
PostGISGeospatial types and queries — coordinates, distances, maps17, 16

Choosing a variant makes the extension available; you still enable it inside your database:

-- pgvector
CREATE EXTENSION vector;
-- PostGIS
CREATE EXTENSION postgis;

Run that once per database, from the database manager, psql, or a migration in your app.

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.

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 browserDatabase 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)

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 project
DATABASE_URL=postgres://user:pass@<internal-hostname>:5432/dbname

Add the connection string as an environment variable on your application service. Internal traffic doesn’t count against any egress quota.

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.

  1. Open the database’s Overview tab.

  2. Find the Public Access section.

  3. 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:

# PostgreSQL
psql "postgresql://user:password@apps-sandbox.zevop.net:54321/dbname"
# MySQL / MariaDB
mysql --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 password

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:

# PostgreSQL
psql -U <username> -d <dbname>
# MySQL / MariaDB
mysql -u <username> -p <dbname>
# MongoDB
mongosh
# Redis
redis-cli

The terminal is admin-only and rate-limited.

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 finishes

Redis — 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 --pipe

For full snapshot restores (.rdb files), open a support ticket — we can place the file on the container’s data volume directly.

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.

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 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.

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=./backup from your machine.
  • Redis: enable public access, then redis-cli -h … --rdb dump.rdb from 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.

EngineInternal access (other ZevCloud services)Database Manager (web GUI)Public access (your laptop / external)
PostgreSQLEvery planEvery planPaid plans
MySQLEvery planEvery planPaid plans
MariaDBEvery planEvery planPaid plans
MongoDBEvery planUse Compass via public accessPaid plans
RedisEvery planUse RedisInsight via public accessPaid 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.