Node.js + Swyftstack

PostgreSQL for Node.js, ready in minutes.

Express, Fastify, Hono, Nest. pg, Prisma, and Drizzle all work as-is.

How we fit together

Wherever Node runs, Swyftstack handles the data.

Render, Fly.io, Railway, Vercel functions, your own VM - point DATABASE_URL at Swyftstack and your existing pg/Prisma/Drizzle setup keeps working untouched.

Your Node host: your API + workers

Render, Fly.io, Railway, Vercel functions, Heroku, your own droplet - wherever Express, Fastify, Hono, or Nest runs. The host runs your app; nothing about that has to change.

Swyftstack: your data + your files

Managed PostgreSQL 16 on a single DATABASE_URL, plus app object storage on the same dashboard. SSL by default, daily backups, scoped credentials, and a single invoice for both.

PostgreSQL 16 Object storage

When Self-hosted Postgres + Minio is the right tool

  • You have a dedicated platform engineer and time to maintain both.
  • Your compliance posture requires the database to live inside your own VPC.
  • You want to fork Postgres extensions or recompile Minio with custom builds.

When Swyftstack is the obvious choice

  • You're shipping a Node app and you want the database half done for you.
  • You're tired of three dashboards, three invoices, and three on-call rotations.
  • You want PgBouncer pooling configured correctly without reading another docs site.
  • You'd rather email a human than file a ticket and wait 72 hours.
Setup

Three minutes from npm init to a SELECT 1

1Deploy a database

Click "Create database" in the console. 47 seconds later you have a DATABASE_URL.

2Install your client

pg for raw queries, Prisma for an ORM, Drizzle for a SQL-first ORM. Pick one - all three work.

3Wire SSL

Pass ssl: { rejectUnauthorized: true } in the Pool options. Or just use sslmode=require in the URL.

4Ship

Deploy your app anywhere - Vercel, Render, Fly, Railway, your own server - DATABASE_URL is the only thing they need to know.

Setup

Your favourite client - same connection string

import pg from "pg";

export const pool = new pg.Pool({
  connectionString: process.env.DATABASE_URL,
  ssl: { rejectUnauthorized: true },
});

const { rows } = await pool.query("SELECT now()");
Why Node teams choose us

What you get on day one

Every Swyftstack plan ships with the database, storage, backups, and observability you'd otherwise stitch together.

Real Postgres, no fork

PostgreSQL 16 straight from postgresql.org. No custom protocol, no proprietary driver. Whatever your ORM expects, just works.

Object storage included

Use Swyftstack's console, signed URLs, scoped credentials, and public object links. Full S3 gateway compatibility is on the roadmap.

47-second provisioning

Click "Create database". Get a connection string with SSL by default. No waiting room, no provisioning queue, no DNS to set up first.

Daily backups, tested restores

Encrypted daily backups with 7- or 30-day retention. Weekly automated restore drills - because untested backups aren't backups.

One bill, one platform

Database, storage, backups, and egress on a single invoice. No three-vendor accounting at the end of the quarter.

No vendor lock-in

Open standards on both ends. pg_dump and S3 export are first-class, even on the free tier. Move on whenever you want.

Frequently asked

Does pgbouncer / connection pooling matter?

Yes for serverless. Swyftstack ships PgBouncer in front of every database; toggle session or transaction mode in the dashboard.

Can I use it from Bun or Deno?

Yes. They both speak the Postgres wire protocol via standard libraries (postgres, deno-postgres).

What about edge runtimes (Cloudflare Workers, Vercel Edge)?

Use an HTTP-based driver (e.g. @neondatabase/serverless) or a pg-over-HTTP proxy. Native TCP isn't available in those runtimes.

Does it work with NestJS / TypeORM?

Yes. Use the postgres driver with TypeORM's standard config. Mikro-ORM, Sequelize, Knex, Kysely - all work.

Is this real PostgreSQL or a fork?

Real PostgreSQL 16, straight from postgresql.org. We don't fork or modify the engine. pg_dump, psql, and any standard client work normally.

Where is my data stored?

US or EU - you pick at signup. Encrypted in transit and at rest. Backups are encrypted with separate keys.

Can I move off Swyftstack later?

Yes. PostgreSQL is standard Postgres, and bucket objects can be exported. Take a pg_dump or export your files anytime - we'll even help.

What happens if I outgrow the Starter plan?

Click upgrade. Same database, same connection string, more capacity. No downtime, no migration.

Do I need to manage SSL myself?

No. SSL is on by default, certificates are managed and auto-renewed. Standard rejectUnauthorized: true works out of the box.

Deploy a database for your Node app.

Launch offer: Starter at $9/mo for 2 months, then $19/mo.