Z
⌘K

Databases

Managed PostgreSQL

Provision and connect to your database

Overview

Zanode provides managed PostgreSQL databases running in the same South African data center as your application. Zero latency between your app and database.

Create a database

Go to your project

Navigate to your project in the dashboard.

Click Databases

Select the Databases tab.

Create database

Click Create Database and choose a name.

Your database is ready within seconds.

Connection string

Once created, your connection string is available in the Databases page:

DATABASE_URL=postgres://user:password@host:5432/database

The connection string is encrypted at rest and can be copied from the dashboard.

Connecting from your app

Node.js (pg)

import pg from 'pg';

const pool = new pg.Pool({
  connectionString: process.env.DATABASE_URL
});

const result = await pool.query('SELECT NOW()');

Prisma

// prisma/schema.prisma
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

Drizzle

import { drizzle } from 'drizzle-orm/postgres-js';
import postgres from 'postgres';

const client = postgres(process.env.DATABASE_URL!);
export const db = drizzle(client);

Backups

Databases are backed up automatically every day at 2:00 AM on paid plans. You can also trigger manual backups and restore from the dashboard.

Trial organizations can create one managed PostgreSQL database, but automated backups are disabled until you upgrade.

Managing backups

Go to Databases

Navigate to your project → Databases tab.

Click Manage backups

On your database card, click Manage backups.

From the backup modal you can:

  • View backup schedule — See when automatic backups run
  • Trigger manual backup — Click backup now to create an immediate backup
  • Restore from backup — Select a backup file and click Restore

Restoring a backup replaces all current data. This cannot be undone.

External access

You can enable external access and generate short-lived tokens for local tools (e.g., DBeaver). This is optional and can be disabled at any time.

The external connection string format is:

postgres://user:token@db-<slug>.db.zanode.co.za:5432/database?sslnegotiation=direct

The connection string shown in the dashboard includes sslnegotiation=direct. This requires psql 17+. Older clients (e.g. psql 14–16, some GUI tools) should omit this parameter — the connection will still work without it.