Your database

The Postgres database built into your Floot project: how you reach it, when it sleeps, how connections work, and how export, import, backups and restores work.

A Floot project comes with its own managed Postgres database. Your assistant sets it up the first time the app needs to store something, and there is nothing to install or size. This page covers how you reach it, why it sleeps, how connections work, and how to get data out, back in, or back to an earlier moment.

What you get

  • A Postgres database for the project, hosted by Neon on AWS in the US East region (us-east-1). New databases are created on Postgres 18.
  • Ordinary Postgres. Tables, indexes, constraints, views, functions and triggers behave the way they do anywhere, and your assistant creates and changes them with SQL.
  • Compute that follows the load. It scales up by itself when your app is busy and down to zero when nothing is querying it (see below).
  • One database for the preview and the published app. Anything you add, change or delete while testing in the preview is real data in the live app. For a separate copy to test against, see Duplicate a project.

How you reach it

Your app
Your app's backend endpoints query the database directly. A visitor's browser never talks to it.
The Data tab
On floot.com, open the Services tab and click Data. Pick a table to browse it, search its rows, add or edit rows and save, or delete the rows you select. The cog icon in the table header opens Database Settings, where backup, export and import are.
Your assistant
query_database reads, execute_sql writes and changes the schema, and pull_database_schema regenerates the typed helpers your code uses — see What your AI can do.
Other tools
To work with the data somewhere else, download an export (below) and load it there.

It sleeps when nothing is using it

A Floot database scales to zero. After about one minute without a query (about five minutes for projects created before 29 September 2026) it goes to sleep: database compute stops being billed, and your data stays exactly as it was. The next query wakes it.

Waking usually adds a fraction of a second to that first request, and occasionally a few seconds. Your app doesn't have to handle it: the database client Floot gives your backend waits for the database and retries the connection by itself, so a wake-up shows as one slower request, not as an error.

Anything that queries the database keeps it awake: your app's traffic, a page that polls an endpoint every few seconds, scheduled jobs that read the database, browsing the Data tab, and queries your assistant runs. A job that runs every few minutes can keep the database awake around the clock, and awake time is what database compute is billed for. For a frequent job, Services → Schedules shows an estimate of what that costs — see Scheduled jobs and background tasks. If the hosting dashboard shows steady database charges on an app nobody is using, ask your assistant to find what keeps querying it.

Connections

Your backend connects straight to the database; there is no connection pooler in between. Floot's database client opens connections when a request needs them, closes them when the request ends, and retries by itself when the database was asleep or a connection dropped. Your assistant sets this up when it adds the database, and there is nothing for you to configure.

Because the backend is serverless, every request that is running holds its own connections, so a burst of traffic is also a burst of connections. Keep transactions short, and don't hold one open while waiting on something slow such as an AI call or another service.

Export and import

On any plan you can download the whole database as a gzipped pg_dump file (.sql.gz): Services → Data, open a table, then the cog icon → Export → Download Database. On a paid plan, Import in the same dialog loads a SQL dump and replaces the whole database. The steps, file formats and limits are in Code, data, and exports.

Backups and restores

On a paid plan, Floot keeps a continuous recovery history of your database that covers the last 7 days. Database Settings (the cog icon in the Data tab) shows 7-day backup enabled under Backup.

Getting a restore

Restores are done by Floot support, on paid plans. Contact support with the project's link and the date and time you want to go back to, including your time zone. It has to be a moment inside the last 7 days, so write in soon after you notice a problem.

What a restore does

  • It puts the whole database back to the moment you chose: every table, structure and data.
  • Everything written after that moment is gone, including rows your users added in between. One table, or a few rows, can't be restored separately.
  • Your code, your uploaded files and your stored keys are not touched.

Before a risky change

Before a large migration, a bulk delete or an import, note the time and download an export. Checkpoints roll back your code and project settings, not your data.

What the recovery history does not include

  • Uploaded files. Files in Floot Storage are not backed up and have no version history. Keep your own copy of any file you can't afford to lose.
  • Anything older than 7 days. For a copy to keep longer, download an export and store the file yourself.

The history counts as database storage: you are billed for your current data plus the last 7 days of changes, so a database that is rewritten often is billed for more than its size — see Hosting.

Using your own database instead

Floot also works with a Postgres database you host somewhere else. Ask your assistant to connect it: it hands you a secure link where you paste the connection string, so the credentials never pass through the chat. The Data tab and your assistant's SQL tools work with it the same way. Its hosting, backups and region are then your provider's, and Import in Database Settings works with the built-in database only.

To move existing data across, export the Floot database and load the file into yours — Self-hosting has the command.

When hosting is taken down

If your hosting balance stays unpaid and your apps are taken down, the database is disabled along with them: it can't be opened, queried or exported until the balance is paid. The data is kept, and the database comes back with the same data once the balance is positive again — see Reliability and limits.