Every Vision project includes a fully managed Postgres database. There is nothing to sign up for and nothing to connect — when your app needs to store data, it’s already there.
How it works
Vision provisions one real Postgres database per project and writes its connection string (DATABASE_URL) into both your workspace and your live deployment. That single step is why the app you preview and the app you published read and write the same data.
- Provisioned on demand — the first time your project needs a database (or from the first-run setup checklist), it appears automatically.
- Isolated per project — every project gets its own database with its own credentials. Duplicate a project and the copy gets its own fresh database too.
- Connection details in Secrets — the connection string lives in Project settings → Secrets like any other value; see Secrets.
Postgres · created for this project · connection details live in the Secrets tab
Working with your data
You never write SQL unless you want to. Describe the data and the agent does the rest:
Add a customers table with name, email, and signup date.
Show it on a new page with search, and let admins edit rows.
The agent designs the schema, runs the migrations, and builds the UI on top. Later changes (“add a notes field to customers”) are handled the same way — schema migrations included.
Protecting your data
Two levers, both worth using on projects with real data:
- Guardrails — add rules like “never delete or rewrite data in the orders table” and every turn is checked against them.
- Teammate access levels — the Read-only and Internal-only tiers can’t run database migrations at all; only Developers (and admins) can.
Bring your own database
Already have a database? Projects connected to an existing codebase can keep using it — put its connection string into Secrets and skip the managed one. The setup checklist offers both paths when it detects a database is needed.