Neon PostgreSQL Free Tier Storage Not Releasing After Table/Project Deletion
I’m running an ETL pipeline written in Python that loads data into a Neon (PostgreSQL) free plan database.
What I’m doing:
Sending processed data from my ETL job to Neon. Tables and columns are created without any issue, and I can query the data fine.
The Problem:
My storage keeps breaching the 0.5GB free tier limit. Even after I:
Delete rows from the tables
Drop the tables entirely
Delete the whole project
The storage usage remains above 0.5GB. It doesn’t seem to shrink or release space, and my account stays blocked.
What I’ve tried so far:
Running VACUUM FULL on the tables after deleting rows
Dropping the tables and schema entirely
Deleting the project in the Neon dashboard and recreating it
Verified that the repo code works fine, so it doesn’t seem like a pipeline bug.
Repo for reference: https://github.com/LeeFred3042U/Neythaleon
Why I’m asking:
I expected storage usage to drop once the data was removed or the project deleted, but it doesn’t. Is this a known bug, a limitation of the free tier, or do I need to explicitly reclaim storage (e.g., vacuum, compaction, or waiting for background cleanup)?
GitHub
GitHub - LeeFred3042U/Neythaleon
Contribute to LeeFred3042U/Neythaleon development by creating an account on GitHub.
1 Reply
rare-sapphire•3w ago
Because Neon offers PITR, we store all the WALs that Postgres generated over the last 24h period (because free tier has 1 day restore period). Even if you drop all the rows and all the tables, the previous writes you had are still living in the WAL storage in case you want to restore from that point. To stop this, go into
Restore
and Edit history settings
, then change the instant restore window from 24h to 0h. As for why the storage isn't being released, there's some metering lag, so it might take some time to see the released storage