The wrkr CLI
Database — wrkr db
Replaces Supabase, Neon, Pinecone.
Postgres 18 with pgvector is already running on your machine. wrkr db hands
your app a ready connection URL — no signup, no keys, no provisioning wait.
wrkr db
# → prints a ready-to-use Postgres connection URL
Point your app at that URL and you have a database. Because pgvector is
enabled, embeddings and RAG work out of the box — the same database is your
vector store.
When to reach for it
Any time your app needs to store data, run queries, or do vector similarity
search. It's a full Postgres, so anything Postgres does — transactions, JSON,
full-text search, LISTEN/NOTIFY for live updates — it does.
Command reference
You'll usually just ask your agent; these are the exact commands it runs (and you can too).
wrkr db [--json] [--pooled]
wrkr db snapshot [--note <text>] [--json]
wrkr db snapshot list [--json]
wrkr db snapshot rm <snapshot-id> [--json]
wrkr db restore <snapshot-id> [--yes] [--json]
wrkr db restore --file <path> [--yes] [--json]
wrkr db export <path> [--format plain|custom] [--json]
wrkr db extension list [--json]
wrkr db extension add <name> [--json]
wrkr db extension remove <name> [--json]
Full flags and examples: wrkr db --help.
Connection URLs
- Direct URL (default) — a normal long-lived connection. Use this for
LISTEN/NOTIFY, transactions, and most app code. - Pooled URL (
wrkr db --pooled) — a transaction-pooled connection, for when you have many short-lived or serverless-style connections and want to avoid exhausting Postgres connection slots.
wrkr db --pooled # → a transaction-pooled connection URL
Snapshots and restore
wrkr db snapshot and wrkr db restore are per-database rollback — take a
point-in-time snapshot before a risky migration, restore it if something goes
wrong.
wrkr db snapshot --note "before adding the billing tables"
wrkr db snapshot list
wrkr db restore <snapshot-id> --yes
You can also restore from a dump file with wrkr db restore --file <path>.
Portable export
wrkr db export is a standard pg_dump. Your data is never trapped — take it
with you whenever you want:
wrkr db export ./backup.sql # plain SQL
wrkr db export ./backup.dump --format custom # pg_dump custom format
Extensions
Postgres extensions from a curated allowlist can be added and removed:
wrkr db extension list
wrkr db extension add <name>
wrkr db extension remove <name>
The curated allowlist covers the common ones: vector (pgvector, already
enabled), postgis (geospatial), pgcrypto, pg_trgm (fuzzy text matching),
hstore, citext, unaccent, uuid-ossp, ltree, tablefunc, postgres_fdw,
and file_fdw. Run wrkr db extension list for the live menu on your machine.
Limits
Be aware of what wrkr db is and isn't today:
- It's one Postgres database with per-database snapshot/restore and a curated extension allowlist. There's no branching and no managed auto-scaling tier yet.
- Extensions outside the curated allowlist aren't offered.
- Durable queues belong in the database, not the cache (Redis here is memory-bounded with LRU eviction).
Your database lives within your machine's storage — your plan's 200 GB is the
envelope, shared with everything else on the box. Postgres comfortably handles
app-scale databases (tens of gigabytes) here, and wrkr status warns you when
you're nearing your plan.