wess.devdocs

Databases

Every app gets its own Postgres database — created automatically on first deploy, no setup, no add-ons to buy.

How it works

On your app's first deploy, wess.dev provisions a dedicated database and a dedicated role that owns it, then injects the connection string into your app's environment:

environment
DATABASE_URL=postgres://…  # already set inside your app

Read it like any other env var:

bun example
import { SQL } from "bun"
const sql = new SQL(process.env.DATABASE_URL!)
const [row] = await sql`SELECT 1 AS ok`

Good to know

IsolationYour role can only reach your database. Other apps can't connect to it, ever.
PoolingConnections are pooled at the platform level — open what you need, it's handled.
BackupsThe platform takes nightly backups with point-in-time recovery.
LifecycleThe database lives as long as the app. wess destroy removes it with the app — permanently.

Vectors (pgvector)

Every database ships with pgvector — store embeddings for search and RAG with no add-on:

SQL
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE docs (id bigserial primary key, embedding vector(1536), body text);
-- nearest neighbours:
SELECT body FROM docs ORDER BY embedding <-> $1 LIMIT 5;

Pair it with the AI gateway to generate embeddings and you have a full RAG stack on one platform.

Need to inspect your data? wess secrets list <app> shows that DATABASE_URL is set; ask the platform owner for external access — direct connections from outside aren't exposed by default.