PlatformDatabase

A Postgres database, created for you.

Your coding agent creates a Postgres 17 database while it builds your project, and the same database goes live with the app. DATABASE_URL is already set, connections are pooled, and there is no other account to open.

Read the API contract
  • Postgres 17On Neon, with pooled connections
  • SingaporeIn the same region as your app, so queries stay fast
  • DATABASE_URL, set for youAnd the PG* variables, in development and in production
  • Scales to zeroAn idle database suspends and wakes on the next query

01How it works

Created while your agent builds.

A database made at the last minute is one nobody tested against. Your agent creates this one first, so the project is written and checked against the real thing.

One call, before the first query.

Your agent asks for the database before it writes any code that needs one. It is created, its variables are written to your .env by a redirect that never prints the password, and the project is built and tested against it. The deploy that follows reuses the same database, so what you tested is what goes live.

  • Asking twice returns the same database, nothing is made twice
  • The password goes into a file, never into the chat or the terminal
  • Development and production use one database, so there is nothing to copy across
See what your agent reads
Your agent runs
$ API=https://antideploy.com/api/v1

# 1. create the database, once per project
$ curl -X POST "$API/database?applicationId=$APP_ID" \
    -H "Authorization: Bearer $TOKEN"

# 2. write its variables into .env (the answer holds a password)
$ curl -fsS "$API/database/env?applicationId=$APP_ID" \
    -H "Authorization: Bearer $TOKEN" >> .env
POST /api/v1/databaseGET /api/v1/database/envGET /api/v1/database

Read DATABASE_URL. Nothing else.

Your code connects the way it does anywhere. Prisma, Drizzle, SQLAlchemy and Django read DATABASE_URL by default, and the PG* variables are set as well. The same two lines work on your laptop and in production.

  • The pooled connection, the same one the deployed app uses
  • Prisma, Drizzle, TypeORM, Sequelize, Knex, pg, SQLAlchemy, Django and asyncpg are recognised
  • A migration command runs before the new version goes live
Deploy an app with Postgres
In your code
// Node, with pg
import pg from "pg";

const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
const { rows } = await pool.query("select * from trees limit 10");

# Python, with psycopg
import os, psycopg

with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
    rows = conn.execute("select * from trees limit 10").fetchall()

02What you get

A real database, already wired in.

No plan to choose, no size to pick, no region to guess. The database exists, it is wired in, and it belongs to your application.

  • A real Postgres 17 database. Created on Neon in Singapore, beside your app. There is no emulation and no proprietary query language: anything that speaks Postgres connects.
  • One database from first line to live traffic. The database you build against is the one the deployed app uses, so there is no seed data to move and no second environment to keep in step. Before the app goes live it is a scratch space. Once it is live, its data is real.
  • Variables, not secrets to copy. DATABASE_URL and the PG* variables are set in the running app by the platform. You never paste a connection string, and your agent never has to put one into the secrets store.
  • A read-only browser in the console. Open the Database tab of an application to see its tables, columns and row counts without installing a client. It only ever reads, and every query is short and time-limited, so a huge table cannot hold it open.
  • Migrations before release. If your project has a migration command, it runs against the database after the build and before the new version goes live. A failed migration fails the deploy, so a version your schema cannot support is never released.
  • Bring your own if you prefer. A DATABASE_URL you set yourself always wins. Point the app at Supabase, your own Neon project or any Postgres and Antideploy creates nothing, and leaves it alone.

03Limits by plan

Counted per account, not per app.

1
database on Free
1
database on Go
3
databases on Pro
5
databases on Scale

A database counts toward your allowance however it came about, whether your agent created it before the first deploy or a deploy created it. Static sites never need one.

04Reference

The variables your app receives.

Set by the platform in the running app, and written to your .env by your agent for local work. Do not copy them into the secrets store.

VariableWhat it holds
DATABASE_URLThe pooled connection string, password included. Read it from the environment and never log it.
PG*The same connection split into the standard libpq variables for host, port, user, password and database name, for tools that read those instead.

05Before you commit

Here's where it stops.

A platform that only tells you what it is good at is one you find the edges of in production. These are the database's.

  1. Postgres, and nothing else

    There is no MySQL, MongoDB or Redis today. Bring your own and set its credentials as variables.

  2. Read-only from the outside

    The console and the API read your data and never write it. Changes happen through your app, or a client you connect yourself.

  3. Waking takes a moment

    An idle database suspends and wakes on the next query, so the first request after a quiet spell is slower than the rest.

  4. No restore tools for you

    There is no snapshot or point-in-time restore you can trigger today. Export anything you cannot afford to lose.

  5. Deleting stays in your browser

    Your agent can create a database. Dropping one, or deleting the application it belongs to, is done in the console, on purpose.

06Questions

Database questions, answered.

Anything else? Write to us and a person answers.

support@antideploy.com
Do I need to sign up for Neon or Supabase?

No. Antideploy creates the database on its own account and gives your app the connection string. You do not open another account or add another bill.

Which version of Postgres is it?

Postgres 17. It runs on Neon, in Singapore, beside your app.

Where does the database run?

In Singapore, in the same region as your app, so a query does not cross an ocean.

How many databases can I have?

One on Free and Go, three on Pro and five on Scale, counted per account. A database counts whether your agent created it before the first deploy or a deploy created it. A static site never needs one.

Does my data survive a deploy?

Yes. The database belongs to the application and every deploy reuses it. Only the container's disk is replaced, which is why uploads belong in file storage and not on disk.

Can I use my own database instead?

Yes. If DATABASE_URL points at a database you chose, such as Supabase or your own Neon project, Antideploy leaves it alone and creates nothing.

Can I see what is in it?

In the console, the Database tab shows tables, columns and row counts, read-only. Your agent can read up to 50 rows at a time through the API with your account token, with credential-like columns hidden. For anything more, connect with the connection string in your .env.

Can my agent drop or reset the database?

It can create one, but it cannot delete one. Dropping a database or deleting its application is only possible in the console, so an agent cannot do it by mistake. Agents are also told not to reset, truncate or reseed a database once the app is live.

What happens to the database if I delete the application?

The database belongs to the application, so deleting the application deletes the database and everything in it. That is permanent.

Does a database cost extra?

No. The databases in your plan are included, and the table above is the only limit.

+The rest of the platform

Everything else your app can use.

Every service is created by your coding agent, wired into your app, and included in the plans. See the whole platform.

Facts on this page were checked against the live platform on 5 October 2026.

Give your app a database. In one sentence.

Paste the sentence into your agent. It creates the database, writes the variables into your project and builds against the real thing.

Start from GitHub or a folder
Prompt copied Paste it into Claude Code, Codex or Cursor and press Enter.