How do I set up a separate Postgres database for each pull request?
Last edited: October 28, 2026
Use Supabase Branching to get a new Postgres database for each pull request. Then, you can safely experiment with changes like new configurations, database schemas, or features without affecting your production setup. When you’re ready to ship your changes, merge your branch to update your production instance with the new changes.
By default, new branches do not start with any data or storage objects from your base project. This is meant to better protect your sensitive production data. To start your branches with data, you can use a seed file if using the GitHub integration, or the Include data option if you create the branch from the Supabase Dashboard.