The developer tool for pgvector
Visualize embeddings, test queries, iterate quickly.

Quickly visualize vectors from your Postgres tables
Just input a connection string and dbSurface can project millions of rows in ~10-15 minutes.
- No data preprocessing or data upload scripts necessary
- Color projected data by columns (with continuous filtering for numeric columns)
- Make postgreSQL queries across your projected space
Securely query across projections from your machine directly to your database
All queries go from your local client to your database. No cloud services in between. This allows you to make queries using JOINS on tables you didn't even project.
- Easily compare different distance metrics, vector/hybrid query strategies, embedding techniques, and more
- Check the precision of your approximate queries using dbSurface's Check Precision feature
- All projected data is encrypted in transit and at rest
Get up and running fast
Pull the dockerfile, spin up a container, and start developing on dbSurface.
Free
Great for experimentation or moderate datasets.
- 10 Projections
- 200,000 projected rows
- Get support or ask for features on our Github anytime!
Pro
Explore production scale vector datasets.
- 200 projections
- 50,000,000 projected rows
- Get support or ask for features on our Github anytime!
Frequently Asked Questions
Spin-up locally. Run our Docker image — it starts a dashboard on localhost:3000
.
Add two connection strings.
• Query string — powers live SQL from your browser straight to Postgres.
• Read-only string — used only for projection creation to grab a snapshot of your table.
Create a projection. Our secure cloud worker pulls the selected table with the read-only string, adds 2-D coordinates, and stores the snapshot as Apache Arrow files.
Explore. Your local dashboard streams queries directly from your database in both the SQL editor and projection view.
Note: All credentials and snapshots are encrypted in transit and at rest (by Supabase and Cloudflare security practices). Your live queries never leave your machine.
This is actually mostly dependent on the read-only connection string you provide for dbSurface to make projections. If your connection allows for ~30 concurrent connected clients and has decent bandwith then expect a few million rows to finish in around 10-15 minutes.
Working with pgvector is great, but interacting with vector data using normal SQL editors can feel like your data is in a black box. dbSurface is the SQL editor that lets you make queries and explore vector data in a way that makes sense.
Feel free to open an issue on our Github.