- Prevents loss of added entities across backend restarts.
- Allows multiple developer or CI environments to share a consistent catalog.
- Required for production-grade Backstage deployments.
Minimal PostgreSQL configuration
Add this to your
app-config.yaml to point Backstage at a PostgreSQL instance:
- Start or provision a PostgreSQL instance (local Docker, managed service, etc.).
- Update
app-config.yamlwith the Postgres connection string (see example above). - Run the backend database migrations (follow the Backstage docs).
- Restart the Backstage backend. Entities added in the UI will now persist across restarts.
If your components or services disappear after restarting the backend, you are almost certainly running with the default local/development database (in-memory or SQLite). For the rest of this course we keep the transient setup to simplify demos. When you need persistence, follow the Postgres configuration and migration steps in the Backstage documentation.
- Backstage docs: https://backstage.io/docs/
- PostgreSQL: https://www.postgresql.org/