What happens when you ask for one
In a chat in Uno Work, say "this app needs a database". The agent asks for your approval and creates it; you never fill a form. The same database comes from the Databases page of the console or from one API call.
Ask
"Add a Postgres database to the shop." The agent picks a name and a size.
Approve
A new database always waits for your Allow.
Connect
DATABASE_URLlands in the project's.env, and the agent points the app at it.
$ curl -s -X POST https://console.uno.place/api/v1/databases \ -H "Authorization: Bearer $UNO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"shop","ram_mb":1024,"disk_gb":10, "ssh_key":"ssh-ed25519 AAAA… you@laptop"}' # ready in a minute or two; then the full connection string: $ curl -s https://console.uno.place/api/v1/databases/7/dsn \ -H "Authorization: Bearer $UNO_API_KEY"
Uno starts a small computer with PostgreSQL 16, makes the user, the database and a random password. Over the API, the request carries an SSH public key: the database computer takes keys only. You pick the size within your plan. Memory from 512 MB to 16 GB and disk from 5 to 500 GB, with defaults of 1 GB and 10 GB. It gets 1 vCPU, or 2 from 4 GB of memory.
What happens to the password
Nobody types it and nobody reads it in a chat. The connection string goes into the project's .env as DATABASE_URL, mode 0600, and the agent never sees the password. The app reads the variable and connects.
| Where | What you see |
|---|---|
| A chat in Uno Work | "Database ready, DATABASE_URL is in .env" |
| Lists in the console and the API | the connection string with ${PGPASSWORD} in place of the password |
| The full string | GET /api/v1/databases/{id}/dsn gives the full string; it needs the reveal right and is written down as a credential read |
Who can reach it
Reachable from your account's Uno computers on an internal address, not from the internet. Your app on one computer and an agent on another both connect; computers of one account see each other; other accounts are cut off at the hypervisor. There is no public port to scan, so there is nothing to brute-force from outside.
# on any of your Uno computers $ psql "$DATABASE_URL" -c "select version();" # Node: process.env.DATABASE_URL Python: os.environ["DATABASE_URL"]
What it takes from your plan
A managed Postgres database runs on its own small Uno computer and counts against your plan. In practice, its memory counts with your running computers against your plan, and its disk against your plan's disk. The console shows how much disk is still free on your plan before you press Create, and the size can only go as high as your plan allows.
A database needs a paid plan; the free trial computer is refused.
What happens to backups
A backup is a copy of the whole disk, not a pg_dump file; the schedule is optional. A disk copy brings the whole database back as it was. For a file you can take to another host, make a dump as well:
$ pg_dump -F c -d "$DATABASE_URL" > shop.dump # restore into an empty database $ pg_restore -d "$NEW_DATABASE_URL" shop.dump
Uno database or Postgres in Docker
You can also run Postgres yourself in Docker on your computer: the guide takes a minute. The difference is who looks after it and who can reach it.
| Docker on your computer | Uno database | |
|---|---|---|
| Who sets it up | You or the agent, with commands | One call, you approve |
| The password | You make it and keep it safe | Uno makes it, it goes to .env |
| Memory | Shared with your app on the same computer | Its own computer |
| Who can reach it | That one computer, unless you open a port | All your Uno computers, nobody else |
| Backups | Your own pg_dump | Disk copies on a schedule, plus your dumps |
Docker suits a prototype on one computer. Take the Uno database when two computers need the same data, or when you want the password out of every chat and every repository.
Sizes and limits
| Uno database | |
|---|---|
| Engine | PostgreSQL 16 |
| Memory and disk | Memory from 512 MB to 16 GB and disk from 5 to 500 GB, with defaults of 1 GB and 10 GB |
| vCPU | 1 vCPU, or 2 from 4 GB of memory |
| Reachable from | Your Uno computers, on an internal address |
| Plans | Paid plans, inside the plan's memory and disk |
| Delete | in the console, or with DELETE /api/v1/databases/{id} |
What it does not do
- No access from the internet: a tool on your laptop cannot point at it directly. Run the tool on one of your Uno computers.
- Backups are disk copies, not dump files. Keep your own
pg_dumpif you plan to move hosts. - One engine: Postgres. No MySQL, no Redis.
- The agent does not delete a database from a chat; you do it in the console.
Pick the plan your app and its database live in
The database takes its memory and disk from the plan. Move up any time; your computers and data come with you.
Small
A Telegram bot, a VPN, a small backend
$5/ month
- 1 vCPU · 1 GB
- 15 GB disk
- 25 GB cloud storage
- 5 boosts a month
Plus
Agents that work with your laptop closed
$20/ month
- 4 vCPU · 4 GB
- 40 GB disk
- 100 GB cloud storage
- Uno Work in the cloud
Pro
A product in production, a second MacBook
$70/ month
- 16 vCPU · 16 GB
- 120 GB disk
- 300 GB cloud storage
- Speed of a MacBook Air M4
Max
A team and many agents at once
$200/ month
- 32 vCPU · 48 GB
- 300 GB disk
- 1,024 GB cloud storage
- 5 public IPv4
Add Uno AI to any plan: 40 h of AI work a month on Small, 100 h on Plus, unlimited on Max. Today: GLM-5.3 Flash and MiMo v2.6 Pro. Or sign in with your own Claude or ChatGPT.
What it costs
A database needs a paid plan and runs inside its memory and disk. On Plus at $20 a month, your computers and databases share 4 GB of memory and 40 GB of disk; Pro has 16 GB and 120 GB. Compare the plans on Pricing.